注意点
1.用命令创建一个crawlspider的模板
scrapy genspider -t crawl 爬虫名字 允许爬取的范围
2.crawlspider中不能够再有以parse为名字的数据提取方法,因为这个方法已经被crawlspider用来实现基础url提取等功能
3.一个Rule对象接受多个参数,首先第一个是包含url规则的LinkExtractor对象
常用的还有callback(指定满足规则的url的解析函数的字符串)和follow(response中提取的链接是否需要跟进)
4.不指定callback函数的请求下,如果follow为True,满足该rule的url还会继续被请求
5.如果多个Rule都满足某一个url,会从rules中选择第一个满足的进行操作
这就告诉我们,在我们书写正则表达式的时候应该将其写的复杂一些,不要出现一个url地址可以匹配多个正则表达式的情况
补充(参数了解)
LinkExtractor更多常见的参数:
- allow 满足括号中“正则表达式”url会被提取,如果为空,则全部匹配
- deny 满足括号中“正则表达式”的url一定不提取,优先级高于allow
- allow_domains 会被提取的链接的domains
- deny_domains 一定不会被被提取的链接的domains
- restrict_xpaths 使用xpath表达式,和allow共同作用过滤链接&