красивый суп и запросы не тянет текст с веб-страницы - Python3 - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь узнать текущие курсы обмена валют.Пока это мой сценарий:

import requests
from bs4 import BeautifulSoup

# Collect and parse first page
page = requests.get('https://www.xe.com/currencyconverter/convert/? 
Amount=1&From=GBP&To=USD')
soup = BeautifulSoup(page.text, 'lxml')

c_rate=soup.find(class_='converterresult-conversionTo')

однако, когда я print(soup) извлекает мета-контент и ссылки, я поиграл с парсерами, и такая же проблема возникает и с html.parser

Любые идеи ?, если вы идете на страницу, я пытаюсь вытянуть цифру 1.30451.

Спасибо,

1 Ответ

0 голосов
/ 23 февраля 2019

Selenium может помочь вам сделать это:

from selenium import webdriver
from bs4 import BeautifulSoup
url = 'https://www.xe.com/currencyconverter/convert/?%20Amount=1&From=GBP&To=USD'
browser=webdriver.Firefox()
browser.get(url)

soup=BeautifulSoup(browser.page_source)

rate = soup.select("a[href*=https://www.xe.com/currencycharts/?from=GBP&to=]")[1]
print(rate.text)

Вывод:

1.30449

Если вы измените [1], в переменной rate на [2], [3] или [4], вы должны использовать обменные курсы GPB для EUR, INR и AUD, соответственно.

...