爬虫
python:语法简单,数据结构方便,适用于爬虫
1.找到数据-------------------------html页面抓取 | | |-----数据接口抓取(网页xhr中找)
2.处理数据-------------------------优先通过xpath来找 ,通过lxm中的etree,也可以通过别的工具例如beautifulsoup | | |-----最差情况用正则,可读性低同时开发效率慢。有些数据不规范,不符合文档树结构或者节点标签对不齐。
3.数据持久化------------------------储存到mysql中,关系型数据库整齐划一 | | |-------储存到mongodb中,方便,而且适用于分布式
4.日志------------------------------线上环境必须打日志,不然出问题不知道哪个环节报错,不能即时修改
5.框架化-----------------------scrapy,面对整个网站的大型爬虫项目适用,主要使用crawspider,框架的话更将爬虫各部分拆的更细。
6.效率化--------------------------首先考虑此网站抗压能力,别把网站爬崩是首要 | | |----单线程爬虫不设置延时可能被封ip,效率爬虫需要ip池 | | |----如果需要更高效率,使用多线程爬虫,对接IP池 | | |----如果需要更高效率,使用分布式爬虫,多台服务器更高的硬件性能来爬虫
5.反爬手段--------------------文字,滑动验证码都可以用库或者本地算法来解决,或者单独写接口来让人来交互(一般次数很少,不然不能自动化),实在不行上selenium(效率低,但是是基于浏览器点击的实现,非必要不使用)
|