@Kirill_Zet

При парсинге данных получаю пустой список?

Как и сказано в вопросе, парсер все время возвращает пустой список.
Вот кусок, который надо спарсить, а именно, числовое значение:

Скриншот фрагмента кода удалён модератором.

вот моя прога:
import requests
from bs4 import BeautifulSoup
#https://www.youtube.com/watch?v=4L57oY3J378&t=328s
#dollar
DOLLAR_RUB='https://www.google.com/search?q=%D0%BA%D1%83%D1%80%D1%81+%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80%D0%B0+%D0%BA+%D1%80%D1%83%D0%B1%D0%BB%D1%8E&rlz=1C1GCEA_enRU945RU945&sxsrf=AJOqlzV-jCktFMo2ZMf38PNhsVXvwvHw6A%3A1677319707859&ei=G975Y_-RNKKprgSx8KWYDw&oq=%D0%BA%D1%83%D1%80%D1%81+%D0%B4%D0%BE%D0%BB%D0%BB%D0%B0%D1%80%D0%B0&gs_lcp=Cgxnd3Mtd2l6LXNlcnAQARgBMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgoIABBHENYEELADMgcIABCwAxBDMgcIABCwAxBDSgQIQRgAUABYAGCqEGgBcAF4AIABAIgBAJIBAJgBAMgBCsABAQ&sclient=gws-wiz-serp'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'}
full_page = requests.get(DOLLAR_RUB,headers)
soup = BeautifulSoup(full_page.content, 'html.parser')
convert = soup.find_all('span',{'class': ['DFlfde', 'SwHCTb']})
print(convert)
print(full_page.status_code)

я что только не пробовал, класс по разному искал, но он дает пустой список, когда класс убираю - список не пустой.
пробовал даже запрос писать :
dollar = soup.find_all("span",attrs={"data-precision": 2,'class': ['DFlfde', 'SwHCTb']})

все равно ничего не выдает.
User-agent я тоже менял, ничего не изменилось

Лирика удалена модератором.
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
soup.find_all('div',class_ = 'BNeawe iBp4i AP7Wnd')

Возможно вы не отключили JavaScript в инспекторе и видите элемент который не видит парсер. Вот код у меня он возвращает список из которого легко извлечь числовое значение. У меня работает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Vaskey
Проблема может быть связана с тем, что Google пытается заблокировать парсинг данных с его страниц. Одним из способов обойти это ограничение может быть использование API Google для получения курсов валют.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы