Соскреб в сети с bs4 выводит пустые результаты - PullRequest
2 голосов
/ 09 ноября 2019

Я делаю анализ, и у меня есть проблема с веб-страницей, которая дает мне пустые значения (я ищу значения 59,5 и 61). Это код

import requests
import lxml
from bs4 import BeautifulSoup

r = requests.get("https://dolarbalanz.com")
soup = BeautifulSoup(r.text, 'lxml')
info = soup.find_all("div", attrs={"class": "marco-dolarcobrar"})
print(info)

Выводстрока, которая является классом div, который должен содержать значения, которые мне нужны. Но конкретная часть для значений пуста ('': ''). В чем проблема? Это потому, что содержимое динамическое, и я должен использовать селен? если это так, как лучше всего сделать это из моего кода? Спасибо!

Эрик

1 Ответ

1 голос
/ 09 ноября 2019

Эти данные представлены javascripts. Однако, если вы перейдете на вкладку «Следующая работа», вы увидите ниже API, который возвращает данные в формате json.

https://dolarbalanz.com/api/dolarBalanz

import requests
r = requests.get("https://dolarbalanz.com/api/dolarBalanz").json()
print(r['precioCompraVenta'][0]['precioventa'])
print(r['precioCompraVenta'][0]['preciocompra'])

Выход :

61
59.5

NetwrokTab :

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...