Я пытаюсь сканировать переполнение стека с помощью скрапа, но я недостаточно ясен, чтобы составить правило для перехода на следующую страницу.Я не знаю, верен ли выбранный мной 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) и добавить его в правило?
вам нужно выбрать корневой элемент //, затем перейти к span, содержащему класс page-numbers next и текст next, а затем перейти к нему родительским .., который является тегом a.
//
span
page-numbers next
next
..
a
//span[@class="page-numbers next"]/../@href