1、基本的编码基础(python)
对于任何编程工作来说都是必须的。数据名字和值得对应(字典),对一些url进行处理(列表)等等。掌握牢固。熟悉python编程语言,熟悉相关的框架和库。我主要用Python写爬虫。
2、任务队列。
当爬虫任务很大的时候,写一个程序跑下来是不合适的:
所以我们需要一种任务队列,它的作用是:讲计划抓取的网页都放到任务队列里面去。然后从队列中拿出来一个一个执行,如果一个失败,记录一下,然后执行下一个。这样就可以一个接一个地执行下去。也增加了扩展性,几亿个任务放在队列里也没问题,有需要可以增加worker,就像多一双亏筷子吃饭一样。
3、数据库
数据保存肯定要会数据库的。不过有时候一些小数据也可以保存成json等。我有时想抓一些图片就直接按照文件夹保存文件。推荐使用NoSQL的数据库,比如mongodb,因为爬虫抓到的数据一般是都字段-值得对应,有些字段有的网站有有的网站没有,mongo在这方面比较灵活,况且爬虫爬到的数据关系非常非常弱,很少会用到表与表的关系。
4、HTTP知识
HTTP知识是必备技能。因为要爬的是网页,所以必须要了解网页。首先html文档的解析方法要懂,比如子节点父节点,属性这些。我们看到的网页是五彩斑斓的,只不过是被浏览器处理了而已,原始的网页是由很多标签组成的。处理最好使用html的解析器,如果自己用正则匹配的话坑会很多。
5、运维
实际工作中运维和开发的时间差不多甚至更多一些。维护已经在工作的爬虫是一个繁重的工作。随着工作时间增加,一般我们都会学着让写出来的爬虫更好维护一些。
爬百度贴吧的评论
爬京东的商品名和价格包括图片评论,保存到excel
爬取豆瓣电影的评分,详细介绍报保存成文件
爬取斗图网的图片保存文件
在进行某网站的数据采集时遇到了验证码的保护措施,为了达到能够批量将数据采集下来的目的,需要接入第三方平台。 采用python的selenium可轻松解决验证码的反爬。
在进行对网站数据的批量采集时遇到了验证码的反爬措施,对于这一问题有两个解决方案, 较简单的是采用selenium实现验证码的破解。