1045
Чат создан чтобы делиться опытом о Scrapy/Python и другими парсинг технологиями. Вежливость и уважение к другим участникам группы. Троллинг не приветствуется. FAQ: https://github.com/bulatbulat48/ru-scrapy-python Работа: t.me/scrapy_jobs
Спасибо, не могу порой отвлечься пока не решу, и уже голова не варит вообще
Читать полностью…
TimeoutError: Page.wait_for_selector: Timeout 5000ms exceeded.
Call log:
waiting for locator("button.pagination_nextPageButton__QpxSP") to be visible
как с network работать (как на скриншоте) в dynamic content описано, оттуда видно чего этот запрос show more делает, ну вобщем, разберетесь)
Читать полностью…
Прочту, спасибо.
Пока пойду по пью чай, а то ноут горячий как и моя голова
Ну или dynamic content , да, playwright это если на производительность не особо важно
Читать полностью…
А вы только начали писать? Если да, рекомендую бросить эти связку и взять https://github.com/scrapy-plugins/scrapy-playwright
Читать полностью…
У меня есть задача спарсить страницу, на которой есть кнопка “Show More”, при нажатии на которую динамически подгружаются новые данные. Это не классическая пагинация, которая ведет на другую URL-страницу, поэтому я не могу использовать стандартные инструменты Scrapy для решения этой задачи. Я узнал, что для этого лучше использовать Splash или Selenium, но с обеими технологиями я пока не работал.
Я решил попробовать Splash и узнал, что его лучше всего запускать через Docker, так как у меня не установлен Linux. Однако возникла проблема: Scrapy и Splash не видят друг друга, хотя я многократно проверил порты и настройки.
TargetClosedError: Request.header_value: Target page, context or browser has been closed
Читать полностью…
QpxSP и еще может вот эта часть очень часто меняется. Как и FAXOE.
Думал о том что он рендериться с задержкой, но до этого не дошел (но это увы не так)
Читать полностью…
def start_requests(self):
for url in self.start_urls:
headers = {
"User-Agent": random.choice(USER_AGENT_LIST)
}
yield scrapy.Request(
url,
meta=dict(
playwright=True,
playwright_include_page=True,
playwright_page_methods=[
PageMethod("wait_for_selector", "button.pagination_nextPageButton__QpxSP", timeout=5000),
PageMethod("click", "button.pagination_nextPageButton__QpxSP"),
PageMethod("wait_for_selector", "a.procedure-card_procedureCard__FAXOE", timeout=5000),
],
headers=headers
),
callback=self.parse,
)
Грубо говоря, моя задача — распарсить фотографии “до” и “после” операций для обучения искусственного интеллекта. Первостепенной задачей является пройти по всем ссылкам различных типов операций. Однако на сайте они реализованы таким образом, что на странице отображаются только 100 ссылок, а остальные загружаются только после нажатия кнопки “Show More”. В дальнейшем парсинг будет стандартным, без необходимости работы с динамическим контентом.
Читать полностью…
Scrapy playwright если чо под виндой щас тоже работает
Читать полностью…
Если хотите по красоте, то почитайте про dynamic content, это сложнее но быстрее парсит и меньше ресурсов жрать будет
Читать полностью…
для этого лучше использовать https://docs.scrapy.org/en/latest/topics/dynamic-content.html
Читать полностью…
ConnectionRefusedError: Connection was refused by other side: 111: Connection
Читать полностью…
возникает ошибка, связанная с файлом dupefilter.py. Я изменил этот файл вручную на локальной машине, чтобы исправить проблему, но теперь не знаю, как сделать то же самое в Docker. При каждом запуске Docker скачивает библиотеку заново, с поврежденным или неработающим файлом. Как правильно изменить файл в Docker-контейнере и сохранить изменения при перезапуске контейнера?
Спасибо!