8年爬虫程序员谈python爬虫进阶思想

爬虫无非三步:

  1. 下载源码

  2. 抽取数据

  3. 存储数据

所以,你需要考虑的是:

  • 如何高效的抓取

  • 如何抽取有用的数据

  • 如何设计存储结构

  • 如何近乎实时的更新

  • 如何判重并减少冗余数据存储

网络爬虫-验证码登录

验证码是一种非常有效的反爬虫机制,它能阻止大部分的暴力抓取,在电商类、投票类以及社交类等网站上应用广泛。如果破解验证码,成为了数据抓取工作者必须要面对的问题。

在访问某些网站时,我们最初只是需要提供用户名密码就可以登陆的,比如说豆瓣网,如果我们要是频繁登陆访问,可能这时网站就会出现一个验证码图片,要求我们输入验证码才能登陆,这样在保证用户方便访问的同时,又防止了机器的恶意频繁访问。对于这种情况,我们可以使用代理服务器访问,只需要换个ip地址再次访问,验证码就不会出现了,当然,当验证码再次出现的时候,我们只能再更换ip地址。

如果对于网站首次登陆就需要提供验证码的情况呢?两种办法,我们可以使用cookie登陆,还有就是可以采用验证码识别手段。使用cookie登陆比较简单,但是有时效性问题。而验证码识别虽然是个很好的思路,但是识别的精度又限制了抓取的效率。 拿知乎网举例子,如图所示,知乎的登陆界面要求我们输入用户名密码的同时,给出验证码,才能登陆。

8年爬虫程序员谈python爬虫进阶思想

如果采用cookie登陆,可以这样实现:首先需要手动登陆网站一次,获取服务器返回的cookie,这里就带有了用户的登陆信息,当然也可以采用获取的cookie登陆该网站的其他页面,而不用再次登陆。具体代码已经实现,详见ZhihuSpider。我们只需要在配置文件中提供用户名密码,及相应的cookie即可。对于不出现验证码的情况,爬虫会提交用户名密码实现post请求登陆,如果失败,才会使用事先提供的cookie信息。

需要说明的是,判断爬虫登陆与否,我们只需要看一下爬取的信息里面是否带有用户信息即可。在使用cookie登陆的时候,还需要不定期更新cookie,以保证爬取顺利进行。

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

大牛的自序:

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想

8年爬虫程序员谈python爬虫进阶思想


鲜花

握手

雷人

路过

鸡蛋
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图