内置爬虫简单介绍
首先,来了解下Scrapy中有哪些内置的爬虫。这个可以通过命令 scrapy genspider -l来查看内置爬虫模版类型,如下图。
available templates
-
basic:最基础的爬虫,是前面介绍过的 -
crawl:爬取有规律的网站内容 -
csvfeed:爬取csv格式内容 -
xmlfeed:爬取xml格式内容
接下来主要介绍crawl爬虫及其与basic 的区别。
basic 与 crawl 区别
-
首先,通过命令来创建
crawl爬虫:scrapy genspider -t 模板名 爬虫名 目标网站 ,具体来说就是:scrapy genspider -t crawl ganji2 ganji.com -
接下来,在IDE中查看创建的爬虫文件
crawl 爬虫模板
-
爬虫类及其名称均被创建成功,与
basic模板不同的是,顶部引用的库、rules属性 以及爬虫函数parse_item -
rules属性主要作用是通过正则对需要爬取的链接进行规则匹配,然后放到回调函数中获取数据。 -
爬虫函数
parse_item与basic中的parse不同。 由于CrawlSpider使用parse方法来实现其逻辑,如果 您覆盖了parse方法,CrawlSpider将会运行失败。所以,爬虫函数通过parse_item实现 -
parse函数原理大致如下:在CrawlSpider中被用于分析链接,得到response,再通过rules属性去重;其中的Rule方法,对response匹配正则表达式命中的链接,对命中的链接使用对应的回调函数爬取数据。 -
parse函数在basic中通过下载器下载规定的地址,得到response,然后回调到parse函数中;此时的parse需要自己写爬取xpath路径和回调规则,通过不断新建函数从开始链接获取什么样的数据。
CrawlSpider运行机制
image.png











网友评论