我想知道如何在Scrapy蜘蛛之外定义RegEx列表,然后将RegEx读入 LxmlLinkExtractor 。
我正在使用当前代码:
file = open("myFile.txt")
regexs = [rule.strip() for rule in file.readlines()]
file.close()
return regexs
然后将返回的值作为参数传递,如下所示:
Rule(LinkExtractor(allow=(regexs, )), callback='parse_file')
这会导致以下错误:
TypeError: unhashable type: 'list'
答案 0 :(得分:2)
此应该工作:
regexs = [rule.strip() for rule in file.readlines()]
LinkExtractor(allow=regexs, callback='parse_file')
在此处查看有关allow参数的更多信息: http://doc.scrapy.org/en/latest/topics/link-extractors.html#module-scrapy.linkextractors.lxmlhtml