@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 я тоже менял, ничего не изменилось

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

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

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

Похожие вопросы