谁能向我解释为什么下面的代码找不到任何要遵循的链接?
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 是否甚至可以在“允许”中包含查询参数,或者我做错了什么?