我正在用scrapy做一个spider,如果我不实现任何规则,它就可以工作,但是现在我尝试实现一个规则来获取paginator并刮除所有剩余的页面。但我不知道为什么我做不到。在
卡盘代码:
allowed_domains = ['guia.bcn.cat']
start_urls = ['http://guia.bcn.cat/index.php?pg=search&q=*:*']
rules = (
Rule(SgmlLinkExtractor(allow=("index.php?pg=search&from=10&q=*:*&nr=10"),
restrict_xpaths=("//div[@class='paginador']",))
, callback="parse_item", follow=True),)
def parse_item(self, response)
...
同时,我试着设置“索引.php但在规则中都不允许。在
我在垃圾组里读到我没有放“a/”或“a/@href”,因为SgmlLinkExtractor会自动搜索链接。在
但控制台似乎什么都不起作用。在
有什么想法吗?在
提前谢谢
编辑:
用这个代码工作
^{pr2}$
SgmlLinkExtractor
的allow
参数是一个(一系列)正则表达式。所以“?”、“*”和“.”被视为特殊字符。在您可以使用
allow=(re.escape("index.php?pg=search&from=10&q=*:*&nr=10"))
(在脚本开头的某个地方加上import re
)编辑:事实上,上面的规则行不通。但是,由于您已经有了要提取链接的限制区域,所以可以使用
allow=('index.php')
相关问题 更多 >
编程相关推荐