怎么用python登陆豆瓣并爬取影评
这篇文章主要介绍“怎么用python登陆豆瓣并爬取影评”,在日常操作中,相信很多人在怎么用python登陆豆瓣并爬取影评问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用python登陆豆瓣并爬取影评”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟主机、营销软件、网站建设、坡头网站维护、网站推广。
1.去找目标网页并找到所要找的数据
一进去网页就条件反射打开开发者工具,很容易就看到了这个
鼠标所点的就是我接下来要爬的网站,先看看他的response和请求头之类的信息,他的请求方式时get,response是一个网页结构,这就好办了,我们就可以用正则来匹配出所要的数据,正则还是个很好用的东西,请大家务必要学会啊。那接下来就动手敲代码咯!
2.用re+requests获取数据
获取信息
先把数据写入txt文件中(打开的文件要指定编码为utf-8,要不会出现编码问题,因为window的默认编码方式是gbk,而你的编码为utf-8)
正则表达式和网址
一点击运行,只运行了两页,就出了问题,因为这个评论不止两页
调试了下,在获取完第二页的时候他返回了个不存在的网页,导致我的正则表达式捕捉不到数据,出现了个空的page,所以就只下载了两页,这应该是被反爬了,继续回网页看看需要加什么请求头,然而我把全部的请求头的信息都加了,还是没用,这就触及到我的盲区了(尴尬脸),但是我可以百度啊,百度一看,看见有人说模拟登陆就可以了,那好,我就来模拟登陆一波!!!
3.模拟登陆豆瓣
首先需要看看登陆需要什么参数,这个参数是在豆瓣的登陆网址,先打开登陆,打开开发者工具(要不会看不到后面这个所需要的网页),填好信息点击登陆,然后点击这个login网页,往下拉就会看到From Data 这个框,这个就是登陆所要的参数
直接把他们复制过来即可
然后就用post把信息发到服务器完成登陆,但是这有个问题,怎么保存登陆信息呢?这就需要用到Session()来保留了,但是注意,只需要建立一个会话信息就可以了,不是每个都用这个方法,我初学时就是犯这个错误以至于我搞了很久还没有登陆成功。代码如下
然后用这个post上去,注意!注意!注意!post的网址是登陆网址,不是你要爬的网址,我刚学时也是被这个坑了很久(怎么感觉我很多问题),还有其他用requests的都需要替换成self.ssession()
最后这样
大功告成,由于只能获取500条这是因为豆瓣只开放了500条评论信息,多一条都不肯给
4.登陆多了需要填验证码
由于我多次登陆注销,然后我就需要填验证码了,然而这还是难不到我,还是分析网页找出验证码图片然后下载下来自己填写,还没有那些大佬那么厉害可以用人工智能来填写,代码如下
还有将数据保留到数据库,我就不贴了,代码和上篇文章的差不多
到此,关于“怎么用python登陆豆瓣并爬取影评”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
网页名称:怎么用python登陆豆瓣并爬取影评
URL标题:http://scyanting.com/article/psiiii.html