python scrapy

中文帮助
进入文件夹:
1。scrapy startproject mingzi #建立爬虫项目
2.scrapy genspider -t crawl ygdy8 ygdy8.com  #建立指定爬虫:ygdy8为爬虫名称,ygdy8.com:爬虫允许的范围,即只在这个范围内爬取

3.scrapy crawl ygdy8#运行爬虫

4。scrapy crawl ygdy8 -s JOBDIR=request_seen_1  #断点续爬

5.全站爬虫的模板继承自CrawlSpider

6.Rules:是具体实现采集怎样的连接。LinkExtract:提取连接:
  ALLOW:是允许提取的连接,Deny:不允许提取的连接 FOLLOW:新的响应里面是否继续提取具有类似的网址,是否继续使用相同的连接提取连接

callback:返回的响应交给那个回掉函数来处理

parse_item是用来处理响应的,可以自定义;不能使用parse方法,杜绝使用这个名字,因为在源码已经被使用。

 

rules = (
Rule(LinkExtractor(allow=r'/[a-z]+/$',deny=r'fengjing|bagua')),
Rule(LinkExtractor(allow=r'list_\d+_\d+.html',deny=r'fengjing|bagua'),follow=True),
Rule(LinkExtractor(allow=r'/\d+/index_\d+.html',deny=r'fengjing|bagua'),callback='parse_item',follow=False),
Rule(LinkExtractor(allow=r'/\d+(_\d+)?.html',deny=r'fengjing|bagua'),callback='parse_item',follow=False), 
)

连接提取规则:
第一行:提取的网址是以连续的多个字母结尾,但不能包含“fengjing,meishitupian,yulebagua"这三个单词的中任一个
第二行:提取包含类似list_2_34.html内容的连接,但不能包含“fengjing,meishitupian,yulebagua"这三个单词的中任一个,并且在当前连接中找到符合条件的地址仍然继续提取,并且每得到一个连接都交给函数(parse_item)去处理
第三行:提供包含类似53.html或54_34.html内容的连接,但不能包含“fengjing,meishitupian,yulebagua"这三个单词的中任一个,并且在当前连接中找到符合条件的地址仍然继续提取,并且每得到一个连接都交给函数(parse_item)去处理

 

全站爬虫

你可能感兴趣的:(python scrapy)