我正在尝试抓取抓取堆栈溢出,但是我还不够清楚,无法制定规则来获取下一页。我不知道我选择的XPath是否也正确。
他遵循以下代码:
class StackCrawlerSpider(CrawlSpider):
name = 'stack_crawler'
allowed_domains = ['stackoverflow.com']
start_urls = [
'http://stackoverflow.com/questions?pagesize=50&sort=newest'
]
rules = [
Rule(LinkExtractor(allow=(), restrict_xpaths=('div[@class="pager fl"]/a[@class="page-numbers next"]/@href',)),
callback='parse_item', follow=True)
]
能理解XPath的人可以帮助我从下一页(http://stackoverflow.com/questions?pagesize=50&sort=newest)中获取下一页并将其添加到规则中吗?
答案 0 :(得分:1)
您需要选择根元素//
,然后转到包含类span
和文本page-numbers next
的{{1}},然后转到父元素next
,即{{ 1}}标签。
..