scrapy shell是调试xpath表达式的一个很好的工具,但是在crawlspider中调试规则的任何工具或方法都是? 这意味着我怎么能知道规则的运作方式。
我的规则是:
rules = (
Rule(SgmlLinkExtractor(allow=r'/search*',restrict_xpaths="//a[@id='pager_page_next']"), follow=False),
#Rule(SgmlLinkExtractor(allow=r'/chart/[\d]+s$'), callback='parse_toplist_page', follow=True),
)
它不遵循我想要的链接,所以如何调试?任何一个例子?
答案 0 :(得分:5)
您是否尝试过Scrapy parse
命令?
scrapy parse <URL>
<URL>
是您要测试的网址。
它将返回从该URL提取的所有链接(将遵循)。
您可以使用--noitems
参数仅显示链接,使用--spider
参数明确指定蜘蛛。
scrapy parse <URL> --noitems --spider <MYSPIDER>
有关调试蜘蛛的更多信息,请参阅: http://doc.scrapy.org/en/latest/topics/debug.html
Pablo hoffman在用户群上提供的答案:https://groups.google.com/forum/?fromgroups=#!topic/scrapy-users/tOdk4Xw2Z4Y
答案 1 :(得分:1)
我不相信,我通常不得不让蜘蛛松动并查看它在命令提示符下击中的网站。有时我不能用控件C杀死程序,必须拉起我的任务管理器并终止整个命令提示符。这是一种痛苦。