一、前言
爬虫就是一段能够模拟浏览器行为,请求获取网络数据的代码。通过对抓取的数据进行处理,从而挖掘出有价值的信息。
二、目的
为了提高爬虫的稳定性和(爬取、开发)效率且能够比较方便可视化和提高业务代码灵活性。我们先看看效果图吧:
这里数据存放为xml文件:
image.png image.png网络上的教程基本都是教如何爬取数据,但对于如何提高开发效率和爬虫的稳定性的资料很少,现有的第三方框架:Scrapy、Crawley很强大,却还是不够简便和方便理解,而且没有可视化界面,所以作为程序员,就诞生了这个批量爬虫工具,让开发效率飞一般起来。
(Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数...
Crawley:高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。
Portia:是一个开源可视化爬虫工具,可让使用者在不需要任何编程知识的情况下爬取网站!)
三、爬虫框架分析。
该爬虫框架使用MFC框架vc++编写,而爬虫代码业务处理等交给python,涉及vc++和python交互
经过一段时间的学习,爬虫其实都离不开几个步骤:检索、跳页、导入信息(写文件、写入数据库)。这几个功能属于业务处理,所以就把这几个功能抽象成接口给python使用,而python只需要在指定的接口中写业务代码即可。比如:我们python里,只需要实现以下几个接口即可。
#检索
def SearchByString(searchkey):
return asyncioRun(SearchByStringExe(searchkey))
#跳页
def Gopage(pageCount):
return asyncioRun(GopageExe(pageCount))
#处理数据
def Analyse(respContent):
return asyncioRun(AnalyseExe(respContent))
SearchByString负责检索第一页内容,Gopage负责跳页,Analyse负责处理数据,其他开几个线程,断点续传,错误日志,重抓失败页,线程管理统统交给批量爬虫工具,简单粗暴地就搞定了一个爬虫任务。
是不是很nice!
网友评论