Форум сайта python.su
Здравствуйте. Помогите пожалуйста решить вопрос.
При парсинге сайтов с доменом “ru” выдает пустой список…
При отладке soup отображает структуру сайта, наполненную разными символами(цифрами и англ буквами), возможно проблема с кодировкой. Если в URL вставить сайт с доменом “com” отображает нормальную структуру и парсер работает исправно.
В чем может быть проблема?
Заранее благодарю.
Ниже код:
import requests from bs4 import BeautifulSoup URL = 'https://www.dns-shop.ru/actions/' HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/70.0', 'accept': '*/*'} def get_html(url, params=None): r = requests.get(url, headers=HEADERS, params=params) # GET запрос на сайт return r def get_content(html): # преобразование кода страницы soup = BeautifulSoup(html, 'lxml') items = soup.find_all('div', class_='action-card__texts') # выдает пустым списком в том числе и items inf = [] for item in items: inf.append({ 'Заголовок': item.find('a', class_='action-card__title').get_text() }) print(inf) def parse(): html = get_html(URL) if html.status_code == 200: get_content(html.text) else: print('Ошибка соединения') parse()
Отредактировано romantic1795 (Дек. 15, 2021 15:09:50)
Офлайн
Помести код в теги
[code python]
сюда код пишешь
[/code]
Отредактировано py.user.next (Дек. 15, 2021 14:57:57)
Офлайн
romantic1795Ну, нет там “action-card__texts”. Это всё заполяется JavaScript-скриптами прямо в браузере уже после загрузки страницы. Открой страницу и сохрани её на диск, а потом попробуй найти в ней “action-card__texts”.
При парсинге сайтов с доменом “ru” выдает пустой список
romantic1795Не, ты закачай страницу, которая без браузера скачивается. В браузере-то оно показывает конечный результат, после того как скрипты сработали все.
При отладке soup отображает структуру сайта, наполненную разными символами
Офлайн
py.user.nextВот спасибо, добрый человек!
Офлайн