新浪微博爬虫——Selenium半自动登录解决反爬问题

这两天想用深度学习做一个短文本自动摘要的模型,于是从第一步,爬语料开始。找来找去发现新浪微博的一些新闻语料最适合用来训练,那就爬新浪微博吧。
无奈的是,新浪反爬虫做的太恶心了,遇到了以下问题。
1.模拟登陆:这个很好解决。浏览器抓包得到然后保存Cookie就能过
2.ajax页面:这个问题查看网上各路大神的做法大致差不多,爬移动端的微博地址就可以了。
3.反爬虫:这个很坑,我试过以下方法。首先,用Python的urllib2包伪造发送请求,速度快了直接给我403。然后降低速度,10s爬一页,爬了几百页还是封了我IP。
八爪鱼我也试过,爬了几百页就封了ip。免费的动态ip不稳定,继续换思路。

只要爬虫像人一样的浏览网页,就不会被封,所以最后采用selenium+半自动登录的方式,居然成功了= =。需要安装的东西有:Python2.7,Selenium并将Chromedriver.exe放在Python的安装路径下,如下图

下面贴代码:

爬下来后就是提取信息了,用Xpath或者正则,这个想要什么提取什么就行了。一天能爬个6-7千页是没问题的。

——Snake

snake

作者: snake

我们需要为这个社会做一点贡献,失去了才懂得去珍惜。

《新浪微博爬虫——Selenium半自动登录解决反爬问题》有2个想法

  1. 新浪微博的技术是更新了吗?
    为什么我用完全一样的代码,每次登录完毕以后,chromedriver就会停止工作?
    大神求教!orz

    1. 可能的原因很多,可以尝试从这几个思路考虑。1.是不是微博的接口更新了2.如果是chromedriver的问题,那换成其他浏览器的driver试试

发表评论

电子邮件地址不会被公开。 必填项已用*标注