动态网页抓取( 第一原始数据-存储的数据没有的设计要点(图))
优采云 发布时间: 2021-09-26 18:23动态网页抓取(
第一原始数据-存储的数据没有的设计要点(图))
一、爬虫设计要点。
如果想批量抓取一个网站,需要自己搭建爬虫框架。在建立之前,您应该考虑几个问题:避免IP被封锁、图像验证码识别、数据处理等。
比较简单的图片验证码,可以通过pytesseract库写一个识别程序,只能识别简单的图片数据。滑动鼠标、滑块、动态图片验证码等比较复杂的地方只能考虑购买编码平台进行识别。
对于数据处理,如果发现得到的数据是乱码,解决办法是识别其乱码规则,或者通过源js代码通过pythonexecjs库或其他执行js库获取数据提取。
二、分布式爬虫解决方案。
为了批量抓取一个大站的数据,最好保持4个队列。
1.url 任务列-存储要抓取的url数据。
2. 原创 URL 队列存储在捕获的网页中,但尚未处理。处理主要是检查是否需要抓包,是否需要重复抓包。
3.原创数据队列存储的数据,未经任何处理。
4.二手数据列-存储进入数据处理过程的待存储数据。
上述队列分别有4个进程用于监控任务的执行,分别是:
1、 Crawler 爬取过程-监控url任务队列,抓取网页数据,将抓取到的原创数据丢到原创数据队列。
2.URL处理流程:监控原创URL队列,过滤异常URL和重复捕获的URL。
3.数据提取流程:监控原创数据队列,提取原创数据队列的关键数据,包括新网站和目标数据。
4.数据存储过程:将二手数据整理好存放在mongodb中。