Я очень новичок в изучении веб-страниц, и у меня есть конкретная проблема c для проекта по общественным наукам. Я пытаюсь отсканировать новостной блог bb c (https://www.bbc.com/news/blogs/the_papers), открыть каждую статью и выполнить поиск слова. Пока что мой паук выглядит так:
class NewsSpider(scrapy.Spider):
name = 'news_spider'
start_urls = ['https://www.bbc.com/news/blogs/the_papers']
data_array = []
def parse(self, response):
self.logger.info('news blog data:')
news_blogs = response.css('div.blog__story.story-inner')
for blog in news_blogs:
link = blog.css('a::attr(href)').get()
data_point = blog_parser(link, 'immigration')
self.logger.info(link)
self.logger.info(data_point.showData())
yield {
'text': blog.css('span.cta::text').get()
}
Этот скребок работает на первой странице сайта. Моя проблема в том, что мне нужно нажать кнопку «больше историй» в нижней части страницы и рекурсивно очистить новые данные как можно больше раз. Я знаю, что для этого нужно имитировать c запрос, сделанный при нажатии на кнопку
Каждый раз, когда нажимается кнопка «Больше историй», появляется запрос xhr формы: https://www.bbc.com/news/ssi/components.html?batch [blog] [opts] [asset_id] = blogs / the_papers & before = x
Но нет шаблона, который я мог бы рекурсивно повторить, поскольку я имею в виду, что первый параметр x равен 1583453829, следующий - 1582674398 и т. д., без видимого шаблона. Я не смог найти учебник, который учит меня, как справляться с ситуацией такого типа