批量爬虫工具(一)

2023-03-13  本文已影响0人  F1234N

一、前言

爬虫就是一段能够模拟浏览器行为,请求获取网络数据的代码。通过对抓取的数据进行处理,从而挖掘出有价值的信息。

二、目的

为了提高爬虫的稳定性和(爬取、开发)效率且能够比较方便可视化和提高业务代码灵活性。我们先看看效果图吧:

2.gif

这里数据存放为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!

上一篇下一篇

猜你喜欢

热点阅读