Python爬虫(知乎live)从入门到进阶
分类:
文章
•
2023-04-07 16:53:02
网络爬虫
- 网络爬虫时一个自动的通过网络抓取互联网上的网页的程序,获取数据或者是提交数据给网站都是爬虫应该有的。
1、优化爬虫爬取方法
- 针对网络延时,页面渲染速度,反爬虫策略:
- (1)并发分布式的爬虫,利用队列减少数据库的访问,批量取,临时存储数据
- (2)选择合适的数据库,并建立正确的索引,用Nosql数据库如MongoDB
- (3)了解业务,减少请求次数,API调用尽可能用批量
- (4)并发效率并不是线性的,适当微调,找到合适的并发数
- (5)优化代码,更加像人的行为,而不是机器
2、常见的反爬虫
- 针对非正常用户访问的手段:
- (1)IP访问频率限制,达到服务器设定一定时间的访问阈值,可能会弹出验证码,以及严重时封ip
- (2)设置访问时需要添加的参数,比如在header里面加一些头和参数,设置一定的陷阱,如果非正常用户带了一些不该带的参数,返回错误的数据,虚假的数据;不封ip变相减少反爬反反爬等博弈过程。
- (3)加一些隐藏的链接
- (4)发现爬虫,返回假数据
3、抓取网站基本信息的可扩展爬虫框架
- 应具有一定的特点
- (1)分布式,服务器到消息队列拿任务执行,多台服务器共同完成
- (2)智能DNS,爬取服务器,提高效率,就近抓取
- (3)可伸缩性,如简单增加带宽
- (4)性能有效性,python有GIL问题,可以利用多核性能等