【发布时间】:2013-08-25 09:46:27
【问题描述】:
此代码不起作用:
name="souq_com"
allowed_domains=['uae.souq.com']
start_urls=["http://uae.souq.com/ae-en/shop-all-categories/c/"]
rules = (
#categories
Rule(SgmlLinkExtractor(restrict_xpaths=('//div[@id="body-column-main"]//div[contains(@class,"fl")]'),unique=True)),
Rule(SgmlLinkExtractor(restrict_xpaths=('//div[@id="ItemResultList"]/div/div/div/a'),unique=True),callback='parse_item'),
Rule(SgmlLinkExtractor(allow=(r'.*?page=\d+'),unique=True)),
)
第一条规则得到响应,但第二条规则不起作用。 我确定第二个规则 xpath 是正确的(我已经使用 scrapy shell 尝试过)我还尝试向第一个规则添加回调并选择第二个规则的路径('//div[@id="ItemResultList "]/div/div/div/a') 并发出请求,它工作正常。
我还尝试了一种解决方法,我尝试使用 Base Spider 而不是 Crawl Spider,它只发出第一个请求,不发出回调。 我应该如何解决这个问题?
【问题讨论】:
标签: scrapy web-crawler