内置爬虫简单介绍
首先,来了解下Scrapy
中有哪些内置的爬虫。这个可以通过命令 scrapy genspider -l
来查看内置爬虫模版类型,如下图。
-
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
路径和回调规则,通过不断新建函数从开始链接获取什么样的数据。
网友评论