Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 09.11.2019
Сообщений: 4

Парсинг сайта

13.11.2019, 23:08. Показов 6428. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть парсер цен AliExpress, он на селениуме, проблема в том что он медленный, хотелось более быстрой работы, bs4 не видит нужные элементы (или я тупой( ), вообщем можно как-то побыстрее парсить нужное значение ?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
    chrome_options = Options()
 
    chrome_options.add_argument("--headless")
 
    driver = webdriver.Chrome(options=chrome_options)
 
    driver.get(link)
 
    price = driver.find_element_by_class_name("product-price-value") 
 
    price1 = price.text
 
    driver.quit()
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2019, 23:08
Ответы с готовыми решениями:

Парсинг сайта
Здравствуйте! Подскажите, пожалуйста, как достать с сайта дату, только, чтобы не всю, а сначало число, потом месяц, и потом год? С помощью...

Парсинг сайта
Добрый день. Возникла проблема с написанием рекурсивного парсинга страниц сайта. Суть такова, написан код, который парсит только...

парсинг сайта
Всем доброй ночи, вопрос следующий. Есть сайт, с него получаю таблицу вида, но в excel выгружаю без шапки id дата тема информация ...

29
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.08.2020, 05:59
Студворк — интернет-сервис помощи студентам
Этот пример не скачивает картинки. Форум испортил ссылку в коде.
Code
1
2
3
4
images Not Found
------------------
(program exited with code: 1)
Для продолжения нажмите любую клавишу . . .
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# standard library
import sys
from pathlib import Path
from urllib.parse import urljoin
 
# third-party
import requests
from lxml import html
 
response = requests.get('http://**********/')
parsed_body = html.fromstring(response.text)
 
# Парсим ссылки с картинками при помощи XPath
images = parsed_body.xpath('//img/@src')
if not images:
    sys.exit("images Not Found")
 
# Конвертирование всех относительных ссылок в абсолютные
images = [
    urljoin(response.url, url)
    for url in images
]
print('Found {} images'.format(len(images)))
 
# Скачиваем только первые 10
for url in images[0:10]:
    r = requests.get(url)
    target = Path(
        'downloaded_images/{}'.format(
            url.split('/')[-1]  # file name from URL
        )
    )
    target.write_bytes(r.content)
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
13.08.2020, 15:09
Цитата Сообщение от supmener Посмотреть сообщение
Этот пример не скачивает картинки.
Или их там нет.
Или неверно указан xpath.
Или ... еще какая-то неведомая хрень.

На такие вопросы нельзя ответить без возможности запустить код.
Учись дебажить свой код. Ты содержимое response.text опробовал глазами посмотреть? Нет.

Добавлено через 2 минуты
Цитата Сообщение от supmener Посмотреть сообщение
# Конвертирование всех относительных ссылок в абсолютные
В lxml для этого есть специальная функция make_links_absolute.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.08.2020, 16:55
Может быть у меня только не работает в конфигурации операционной системы и Пайтона. Вы бы запустили этот код, а то не понятно.
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
13.08.2020, 17:09
Цитата Сообщение от Garry Galler Посмотреть сообщение
На такие вопросы нельзя ответить без возможности запустить код
КАк его запущу?????
Мне что, подставить туда свой url?
Ну дак у меня все сработает. Потому что я все сделаю правильно.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.08.2020, 18:10
Можно перейти по вашей ссылке на страницу урока и код скопировать оттуда.
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
13.08.2020, 18:36
Цитата Сообщение от supmener Посмотреть сообщение
Можно перейти по вашей ссылке на страницу урока и код скопировать оттуда.
url какой? Тот же самый?
Ну тогда все просто: там нет картинок. Они подгружаются динамически. http-клиенты типа requests не выполняют javascript для полного рендеринга страницы. Они возвращают только то, что отдает сайт при запросе по данному url. А картинки грузятся в фоновом режиме через AJAX запросы (совсем по другим url), которые скрипты выполняют в браузере после загрузки страницы.

Хочешь протестировать этот скрипт - найди сайт, где картинки грузятся сразу же.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.08.2020, 19:30
Может Scrapy в таких случаях надо использовать?

Добавлено через 30 секунд
url тот же самый.
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
13.08.2020, 19:34
Цитата Сообщение от supmener Посмотреть сообщение
Может Scrapy в таких случаях надо использовать?
Нет. Scrapy это просто граббер.
Для рендеринга динамики используют selenium (+ драйвер любого браузера). Или еще есть такая штука как splash (Splash is a javascript rendering service with an HTTP API. It's a lightweight browser with an HTTP API, implemented in Python 3 using Twisted and QT5.).
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.08.2020, 19:46
А в каких случаях надо задействовать этот код, как в следующем примере?
Code
1
2
# standard library
from io import StringIO
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
13.09.2020, 08:32
А если надо будет спарсить подгружаемое содержимое, как в комментариях на Youtube?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.09.2020, 08:32

Парсинг сайта
Добрый день, возник вопрос, нужно спарсить с сайта цены и название товаров, при парсинге берётся только первый div, даже через перебор не...

Парсинг сайта
Добрый день! Я хочу найти все изменения статьи на википедии за определенный период, допустим за 2018 год. Все даты изменений указаны под...

Парсинг сайта
Всем привет. Пытаюсь получить данные с сайта, flashscore. Конкретно нужно следующее - получить данные с главной страницы о каждом матче,...

Парсинг сайта
Вообщем нужно спарсить сайт https://tarkov-market.com/. Я парсю первые 10 элементов в таблице, но потом нужно подгружать...

Парсинг динамического сайта
Всем привет, помогите пожалуйста, на тестовом задании сказали распарсить 100 приложений с сайта...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru