Scrapy问题

来源:互联网 发布:金针软件下载 编辑:程序博客网 时间:2024/06/04 18:47

1. rules规则

start_urls = [' ']rules = [Rule(SgmlLinkExtractor(allow=[r' ']), callback=' ', follow=True)]

 其中callback一般不使用parse,因为parse是默认的,如果用parse的话,会导致重写.

 rules规则是指在start_urls下所有的链接中符合allow规则的,进行搜索

2. 递归调用网址

newsurl = ' '+b.xpath('.//a/@href').extract()[0].encode('utf-8') yield Request (url=newsurl, callback=self.parse_item)

 其中需要注意要将list编码成url字符串,然后进行拼接,然后通过引入进行操作.

from scrapy.http import Request

3. 编码问题

 当Item在Spider中被收集之后,它将会被传递到Item Pipeline,一些组件会按照一定的顺序执行对Item的处理。

 pipelines应用:

   清理HTML数据
   验证爬取的数据(检查item包含某些字段)
   查重(并丢弃)
   将爬取结果保存到数据库中

   通过使用pipelines进行操作,参考网址:

http://git.oschina.net/ldshuang/imax-spider/commit/1d05d7bafdf7758f7b422cc1133abf493bf55086#diff-1

http://www.addbook.cn/blog/scrapy%E4%B8%AD%E6%96%87%E7%BC%96%E7%A0%81%E9%97%AE%E9%A2%98



0 0
原创粉丝点击