Найти - Пользователи
Полная версия: Парсинг BS, requests
Начало » Python для новичков » Парсинг BS, requests
1
romantic1795
Здравствуйте. Помогите пожалуйста решить вопрос.
При парсинге сайтов с доменом “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()
py.user.next
Помести код в теги
[code python]
сюда код пишешь
[/code]
Иначе отступы пропадают и списки.
py.user.next
romantic1795
При парсинге сайтов с доменом “ru” выдает пустой список
Ну, нет там “action-card__texts”. Это всё заполяется JavaScript-скриптами прямо в браузере уже после загрузки страницы. Открой страницу и сохрани её на диск, а потом попробуй найти в ней “action-card__texts”.

romantic1795
При отладке soup отображает структуру сайта, наполненную разными символами
Не, ты закачай страницу, которая без браузера скачивается. В браузере-то оно показывает конечный результат, после того как скрипты сработали все.
romantic1795
py.user.next
Вот спасибо, добрый человек!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB