Сейчас я пробую скрап-драматургию. Я также пробовал использовать селен, но безрезультатно.
Я могу получить доступ к телу и корневому элементу div. Я понимаю, что страница динамически загружается с использованием Java, но я не могу ничего загрузить после корневого div. Я получаю ноль каждый раз, когда пытаюсь получить доступ к элементу div с бесконечной прокруткой. (или любой другой div, если уж на то пошло). Сейчас это мой код:
Код: Выделить всё
import scrapy
from OpenSupply.items import FacItem
from scrapy_playwright.page import PageMethod
class FacspiderSpider(scrapy.Spider):
name = "facspider"
def start_requests(self):
url = "https://opensupplyhub.org/facilities?facility_type=Final%20Product%20Assembly&sort_by=contributors_desc"
yield scrapy.Request(url, meta=dict(
playwright = True,
playwright_include_page = True,
playwright_page_methods = [
PageMethod('wait_for_selector', 'div.infinite-scroll'),
],
errback = self.errback
))
def parse(self, response):
facitem = FacItem()
for comp in response.css('div.infinite-scroll div'):
facitem['test'] = comp.css('span').get()
yield facitem
async def errback(self, failure):
page = failure.request.meta["playwright_page"]
await page.close()
Подробнее здесь: https://stackoverflow.com/questions/787 ... null-every