任何人都可以向我解释为什么以下代码找不到任何链接?
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from scrapy.item import Item
class CoursesSpider(CrawlSpider):
name = "courses"
allowed_domains = ["test.com"]
start_urls = [
"http://golfpiste.com/kentat/?p=seuralista"
]
rules = (
Rule(SgmlLinkExtractor(allow=r"kentat/esittely/\?lang=fi",unique=True),callback='parse_item', follow=True),
)
def parse_item(self, response):
self.log('Hi, this is an item page! %s' % response.url)
item = Item()
return item
问题是allow = r“kentat / esittely / \?会找到要关注的链接,但是当我添加任何查询参数时,它找不到任何链接,即使kentat / esittely /?lang = fi链接肯定是那里。
所以我想知道SgmlLinkExtractor是否甚至可以在“允许”中使用查询参数,或者是否存在我做错的事情?
答案 0 :(得分:1)
起始网址和链接提取程序规则错误。该规则应该是“kentat / esittely。\?seura =”。