火车头采集翻页内容_爬虫:python采集豆瓣影评信息并进行数据分析

前言:最近比较有时间,替一个同学完成了一个简单的爬虫和数据分析任务,具体的要求是爬取复仇者联盟4 的豆瓣影评信息并进行简单的数据分析,这里的数据分析指的是提取关键词并进行词云分析以及按照时间进行热度分析,分析比较简单,后续可以继续完善。

首先,献上数据采集和分析的结果。

短评数据

按照该同学的要求,只采集了1000条数据,有需要更多数据的同学可自行修改采集的限制即可

dfaa1dd107acdd916c8cdc6ddc66cdaf.png

下面,我们就来详细描述下如何完成数据采集和数据分析的工作的

首先,爬虫的第一步,分析页面元素,打开网页,按下F12,查看数据请求

从上往下,依次寻找,我们可以发现数据就存在于第一个请求中

我们可以分析下这个请求,点击翻页,多请求几个页面

我们可以知道他的翻页规律是由start和limit这两个参数来控制的,start表示第几页,limit表示每页多少条

知道他的分页规律后,我们需要定位我们需要采集的元素,我们这里需要采集短评内容、发布人信息、评价指数、评价时间,赞同数等

这里我们选择的是etree+xpath解析数据,这里我给大家演示下如何定位短评内容,我们采用浏览器上的选中元素的功能,选中元素后,查看元素的位置

分析对应的html元素,首先找到该元素最可靠的顶级元素,这里我们可以很容易的发现这个元素是位于id="comments"这个div元素下面,一般而言,以id为准的元素不会发生太大的变化,接着,我们继续往下找,找到对应元素的上级中比较可靠的元素,比如class,这里有个小技巧,我们可以利用浏览器的$x方法验证我们的xpath是否正确,像下面这样

这样我们就可以很容易的采集到短评数据了,代码如下

def start_spider(self):        result_list = []        for i in range(0,50):            start = i            reponse = requests.get(self.target_url.format(start),headers=self.headers)            # print(reponse.text)            html = etree.HTML(str(reponse.content,'utf-8'))            # 短评列表            short_list = html.xpath('//div[@id="comments"]/div[@class="comment-item"]//span[@class="short"]/text()')            print(short_list)            times = html.xpath('//div[@class="comment-item"]//span[@class="comment-info"]/span[2]/@class')            complte_times = html.xpath('//div[@class="comment-item"]//span[@class="comment-info"]/span[3]/@title')            votes = html.xpath('//div[@class="comment-item"]//div[@class="comment"]/h3/span[@class="comment-vote"]/span[@class=&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常好的问题!以下是一些步骤,可以帮助您开始利用Python进行豆瓣影评数据分析。 1. 安装必要的Python库 您需要使用Python编写爬虫程序,因此需要安装Requests和BeautifulSoup库来从网页中提取数据。您还需要安装pandas和matplotlib库来进行数据分析和可视化。 2. 确定您想要分析的内容豆瓣影评中,您可以分析电影的评级、评论数量、评论者的性别、年龄和评论内容内容。因此,需要确定您想要分析哪些内容。 3. 编写豆瓣爬虫程序 使用Python编写爬虫程序,从豆瓣电影网站上爬取您想要分析的内容。您可以使用Requests库发送HTTP请求,并使用BeautifulSoup库解析HTML响应,提取所需的数据。请注意,您需要实现反爬机制以防止被禁止访问。 4. 保存数据到CSV文件 将提取的数据保存到CSV文件中,这样可以方便地进行数据分析。您可以使用pandas库读取CSV文件,创建数据框架并进行分析。 5. 数据分析和可视化 使用pandas和matplotlib库进行数据分析和可视化。您可以使用pandas库进行数据聚合、过滤和排序,并使用matplotlib库创建图表、直方图和饼图。 6. 结论和建议 根据您的分析结果,可以得出一些结论和建议。例如,如果发现电影评级与评论数量呈正相关关系,则可以建议电影制片人提高电影质量以增加评论数量。 希望这些步骤可以帮助您开始利用Python进行豆瓣影评数据分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值