xmlhttprequest写文件_python写一个豆瓣短评通用爬虫并可视化分析

本文介绍了使用Python编写一个通用的豆瓣电影短评爬虫,涵盖登录、爬取、存储和可视化分析的全过程。通过分析豆瓣电影页面,实现了携带登录信息爬取评论数据,存储到CSV文件,并利用matplotlib和WordCloud进行数据可视化,展示电影评分比例和词频统计。
摘要由CSDN通过智能技术生成

前言

在本人上的一门课中,老师对每个小组有个任务要求,介绍和完成一个小模块、工具知识的使用。然而我所在的组刚好遇到的是python爬虫的小课题。

心想这不是很简单嘛,搞啥呢?想着去搞新的时间精力可能不太够,索性自己就把豆瓣电影的评论(短评)搞一搞吧。

之前有写过哪吒那篇类似的,但今天这篇要写的像姨母般详细。本篇主要实现的是对任意一部电影短评(热门)的抓取以及可视化分析。 也就是你只要提供链接和一些基本信息,他就可以通用一套流程。

ab15db05f795c2b73e183c7ba1a34902.png

分析

对于豆瓣爬虫,what shold we 考虑?怎么分析呢?豆瓣电影首页

这个首先的话尝试就可以啦,打开任意一部电影,这里以姜子牙为例。打开姜子牙你就会发现它是非动态渲染的页面,也就是传统的渲染方式,直接请求这个url即可获取数据。但是翻着翻着页面你就会发现:未登录用户只能访问优先的界面,登录的用户才能有权限去访问后面的页面。

30335f7e4fb14713b9c7bc33264ab4b4.png

所以这个流程应该是 登录——> 爬虫——>存储——>可视化分析。

这里提一下环境和所需要的安装装,环境为python3,代码在win和linux可成功跑,如果mac和linux不能跑友字体乱码问题还请私我。其中pip用到包如下,直接用清华 镜像下载不然很慢很慢(够贴心不)。

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simplepip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simplepip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simplepip install xlrd -i https://pypi.tuna.tsinghua.edu.cn/simplepip install xlwt -i https://pypi.tuna.tsinghua.edu.cn/simplepip install bs4 -i https://pypi.tuna.tsinghua.edu.cn/simplepip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simplepip install wordcloud -i https://pypi.tuna.tsinghua.edu.cn/simplepip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple

登录

豆瓣的登录地址

进去后有个密码登录栏,我们要分析在登录的途中发生了啥,打开F12控制台是不够的,我们还要使用Fidder抓包。

178d7575d919a13d8055fbc21947b3f0.png

打开F12控制台然后点击登录,多次试探之后发现登录接口也很简单:

56e9b563bc3087c6c7e03134c7181aaa.png

查看请求的参数发现就是普通请求,无加密,当然这里可以用fidder进行抓包,这里我简单测试了一下用错误密码进行测试。如果失败的小伙伴可以尝试手动登陆再退出这样再跑程序。

daff37c8d720f2c79c89c2e2fbe13980.png

这样编写登录模块的代码:

url='https://accounts.douban.com/j/mobile/login/basic'header={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36','Referer': 'https://accounts.douban.com/passport/login_popup?login_source=anony',        'Origin': 'https://accounts.douban.com', 'content-Type':'application/x-www-form-urlencoded', 'x-requested-with':'XMLHttpRequest', 'accept':'application/json', 'accept-encoding':'gzip, deflate, br', 'accept-language':'zh-CN,zh;q=0.9', 'connection': 'keep-alive' ,'Host': 'accounts.douban.com' }data={    'ck':'',  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值