scrapy parse_item方法没有被调用
这是我的代码。我的parse_item方法没有被调用。scrapy parse_item方法没有被调用
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
class SjsuSpider(CrawlSpider):
name = 'sjsu'
allowed_domains = ['sjsu.edu']
start_urls = ['http://cs.sjsu.edu/']
# allow=() is used to match all links
rules = [Rule(SgmlLinkExtractor(allow=()), follow=True),
Rule(SgmlLinkExtractor(allow=()), callback='parse_item')]
def parse_item(self, response):
print "some message"
open("sjsupages", 'a').write(response.body)
您允许的域名应该是'cs.sjsu.edu'
。
Scrapy不允许允许域的子域名。
rules = [Rule(SgmlLinkExtractor(), follow=True, callback='parse_item')]
它应该不是规则= [Rule(SgmlLinkExtractor(),follow = True,callback = self.parse_item)] ?? – 2012-02-28 11:18:55
是的,谢谢,纠正。 – Acorn 2012-02-28 21:54:31
'self.parse_item'不起作用,因为'self'不在类定义的范围内。所以'parse_item'作为一个字符串是明智的。 – 2012-09-08 18:23:40
你必须指定允许值??:
而且,你的规则可以写成我认为你的蜘蛛没有找到任何物品来解析。 – dm03514 2012-02-28 01:56:43
我不知道......但这是有道理的。如果我想要废除一切,我可以放入什么。 – riship89 2012-02-28 02:10:07