【爬虫实战】用python爬豆瓣电影《热烈》短评

这篇具有很好参考价值的文章主要介绍了【爬虫实战】用python爬豆瓣电影《热烈》短评。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • 一、爬虫对象-豆瓣电影短评
  • 二、爬取结果
  • 三、爬虫代码讲解
  • 三、演示视频
  • 四、获取完整源码

一、爬虫对象-豆瓣电影短评

您好!我是@马哥python说,一名10年程序猿。

今天分享一期爬虫案例,爬取的目标是:豆瓣上任意一部电影的短评(注意:是短评,不是影评!),以《热烈》这部电影为例:
【爬虫实战】用python爬豆瓣电影《热烈》短评

爬取以上6个关键字段,含:

页码, 评论者昵称, 评论星级, 评论时间, 评论者IP属地, 有用数, 评论内容。

二、爬取结果

爬取结果截图:
【爬虫实战】用python爬豆瓣电影《热烈》短评

三、爬虫代码讲解

首先,导入需要用到的库:

import requests
from bs4 import BeautifulSoup
import pandas as pd
import os
import random
from time import sleep

定义一个请求头:

# 请求头
h1 = {
	'Cookie': '换成自己的cookie',
	'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
	'Accept-Encoding': 'gzip, deflate',
	'Host': 'movie.douban.com',
	'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15',
	'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
	'Referer': 'https://movie.douban.com/subject/35267224/?from=showing',
	'Connection': 'keep-alive'
}

定义请求地址:(规律是:第1页start是0,第2页start是20,第3页start是40,所以总结出:start=(page-1)*20)

# 请求地址
url = 'https://movie.douban.com/subject/{}/comments?start={}&limit=20&status=P&sort=new_score'.format(v_movie_id, (page - 1) * 20)

用requests发送请求:

# 发送请求
response = requests.get(url, headers=h1, verify=False)

用BeautifulSoup解析页面数据:

# 解析页面数据
soup = BeautifulSoup(response.text, 'html.parser')

定义一些空列表,用于存放数据:

user_name_list = []  # 评论者昵称
star_list = []  # 评论星级
time_list = []  # 评论时间
ip_list = []  # 评论者ip属地
vote_list = []  # 有用数
content_list = []  # 评论内容

以"评论内容"字段为例:

for review in reviews:
	# 评论内容
	content = review.find('span', {'class': 'short'}).text
	content = content.replace(',', ',').replace(' ', '').replace('\n', '').replace('\t', '').replace('\r', '')
	content_list.append(content)

把所有字段存放的列表数据组成Dataframe格式:

df = pd.DataFrame(
	{
		'页码': page,
		'评论者昵称': user_name_list,
		'评论星级': star_list,
		'评论时间': time_list,
		'评论者IP属地': ip_list,
		'有用数': vote_list,
		'评论内容': content_list,
	}
)

进一步保存到csv文件里:

# 保存到csv
df.to_csv(result_file, mode='a+', header=header, index=False, encoding='utf_8_sig')
print('文件保存成功:', result_file)

以上,核心逻辑讲解完毕。

代码中还含有:转换星级函数、自动翻页、文本清洗等功能,详见文末完整源码。

最后需要说明的是,豆瓣短评页面上最多只能看到30页,再往后翻页面一直显示载入中,所以该代码最多只能爬取30页短评。
【爬虫实战】用python爬豆瓣电影《热烈》短评

三、演示视频

演示视频:【Python爬虫实战】爬取豆瓣电影短评,以《热烈》为例

四、获取完整源码

爱学习的小伙伴,本次分析过程的完整python源码及结果数据,我已打包好,并上传至我的微信公众号"老男孩的平凡之路",后台回复"爬豆瓣短评"即可获取。

点此直达:【爬虫实战】用python爬豆瓣电影《热烈》短评


我是@马哥python说,一名10年程序猿,持续分享python干货中!文章来源地址https://www.toymoban.com/news/detail-699537.html

到了这里,关于【爬虫实战】用python爬豆瓣电影《热烈》短评的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫实战-手把手教你爬豆瓣电影 | 附详细源码和讲解

    写在前面的话 目前为止,你应该已经了解爬虫的三个基本小节: 来源:xiaqo.com   正文 明确需求 我们今天要爬的数据是 豆瓣电影Top250 ,是的,只有250条数据,你没猜错。 输入网址  https://movie.douban.com/top250  我们可以看到网页长这样:   ​ 编辑 ​ 编辑 `250条数据`清清楚楚

    2024年04月08日
    浏览(47)
  • python爬虫小练习——爬取豆瓣电影top250

    将爬取的数据导入到表格中,方便人为查看。 三大功能 1,下载所有网页内容。 2,处理网页中的内容提取自己想要的数据 3,导入到表格中 https://www.bilibili.com/video/BV1CY411f7yh/?p=15

    2024年01月17日
    浏览(48)
  • Python爬虫案例分享【爬取豆瓣电影排行榜的电影名称和评分】

    注意:在运行此代码之前,请确保已安装 requests 和 beautifulsoup4 库

    2024年01月19日
    浏览(68)
  • Python爬虫:一个爬取豆瓣电影人像的小案例

    从谷歌浏览器的开发工具进入 选择图片右键点击检查 翻页之后发现网址变化的只有start数值,每次变化值为30 Python代码 把爬取的图片全部放到新建的文件夹中存放

    2024年02月10日
    浏览(85)
  • python爬取豆瓣电影排行前250获取电影名称和网络链接[静态网页]————爬虫实例(1)

    目录 1.算法原理: 2.程序流程: 3.程序代码: 4.运行结果(部分结果展示): 5.结果分析: (1)利用import命令导入模块或者导入模块中的对象; ①利用requests库获取数据; ②用BeautifulSoup库将网页源代码转换成BeautifulSoup类型,以便于数据的解析和处理; ③用time库进行时间延时

    2023年04月16日
    浏览(67)
  • 【Python】爬虫练习-爬取豆瓣网电影评论用户的观影习惯数据

    目录 前言 一、配置环境 1.1、 安装Python 1.2、 安装Requests库和BeautifulSoup库 1.3.、安装Matplotlib 二、登录豆瓣网(重点) 2.1、获取代理 2.2、测试代理ip是否可用 2.3、设置大量请求头随机使用 2.4、登录豆瓣网 三、爬取某一部热门电影数据 3.1、爬取全部长、短评论 3.2、获取用户

    2024年02月09日
    浏览(48)
  • python爬虫——爬取豆瓣top250电影数据(适合初学者)

    爬取豆瓣top250其实是初学者用于练习和熟悉爬虫技能知识的简单实战项目,通过这个项目,可以让小白对爬虫有一个初步认识,因此,如果你已经接触过爬虫有些时间了,可以跳过该项目,选择更有挑战性的实战项目来提升技能。当然,如果你是小白,这个项目就再适合不过

    2024年02月07日
    浏览(83)
  • [Python练习]使用Python爬虫爬取豆瓣top250的电影的页面源码

    在终端中输入以下代码(直接在cmd命令提示符中,不需要打开Python) 从豆瓣网提供的镜像网站下载requests第三方库 是从国外网站下载,速度慢甚至有时候无法下载 运行代码之后,没反应,无输出结果 可以看一下返回的页面请求状态码是多少: 状态码是 418 ,所有4开头的状态

    2024年01月17日
    浏览(48)
  • Python网页爬虫爬取豆瓣Top250电影数据——Xpath数据解析

    1.1 查看原页面信息 首先打开豆瓣Top250电影页面,其网址是:https://movie.douban.com/top250。 可以发现,该页面展示的电影信息有中英文电影名、导演、主演、上映年份、国籍、电影类型、评分等。 下滑到页面底部,发现第一页有25部电影的数据,并且可以点击页码数实现页面跳转

    2024年02月05日
    浏览(54)
  • Python爬虫——urllib_ajax的get请求爬取豆瓣电影前十页

    ajax: 就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: 一定会有 url,请求方法(get, post),可能有数据 一般使用 json 格式 打开豆瓣电影,F12打开控制台(我这里是科幻类排行榜) 这是第一页 第二页 第

    2024年02月16日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包