как использовать scrapy на страницах «загрузить больше результатов» - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь почистить все новости BBC об Эдварде Сноудене, и все идет хорошо, кроме кнопки "показать больше результатов".Я использую этот код:

import scrapy

class bbcSpider(scrapy.Spider):
    name = 'bbc'
    start_urls = ['https://www.bbc.co.uk/search?q=edward+snowden&sa_f=search-product&filter=news&suggid=#page=1']

    def parse(self, response):
         SET_SELECTOR = 'ol.search-results.results'
         for article in response.css(SET_SELECTOR):

             title = "li article.has_image.media-text div h1 a::text"
             link = "li article.has_image.media-text div h1 a::attr(href)"
             date = "li article.has_image.media-text aside.flags.top dl dd time.display-date::text"
             yield {
                'title': article.css(title).getall(),
                'link': article.css(link).getall(),
                'date': article.css(date).getall(),
             }
         NEXT_PAGE_SELECTOR = 'nav.pagination a.more::attr(href)'
                next_page = response.css(NEXT_PAGE_SELECTOR).extract_first()
                if next_page:
                    yield scrapy.Request(
                        response.urljoin(next_page),
                        callback=self.parse
                    )

Я действительно не знаю, что делать.Я не знаю, является ли эта кнопка javascript, но она не появляется, так как для нее сработала функция извлечения scrapy.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...