#python #web-scraping #scrapy #playwright
#питон #соскабливание паутины #скребок #драматург
Вопрос:
Страница, которую я пытаюсь очистить, загружает больше элементов по мере прокрутки вниз. Я знаю, как заставить драматурга прокручиваться, в настоящее время я использую подобную сопрограмму
PageCoroutine("evaluate", "window.scrollBy(0, document.body.scrollHeight)")
который в паре с другим
wait_for_selector
работает сопрограмма, в которой селектором является идентификатор последнего элемента на странице. Моя проблема в том, что последний пункт часто меняется, и поэтому я не могу на него полагаться.
Как я могу сказать скрапи/драматургу, чтобы он просто продолжал прокручивать до конца, не указывая элемент внизу?
Спасибо
Вот мой паук, если это поможет:
import scrapy from scrapy_playwright.page import PageCoroutine class MySpider(scrapy.Spider): name = 'my_spider' def start_requests(self): yield scrapy.Request( 'my-url', meta={ 'playwright': True, 'playwright_include_page': True, 'playwright_page_coroutines': [ PageCoroutine("evaluate", "window.scrollBy(0, document.body.scrollHeight)"), PageCoroutine("wait_for_selector", "{item_at_bottom}"), ] } ) async def parse(self, response): pass # parses my content