удаление постоянно меняющихся целочисленных значений с веб-сайта - PullRequest
0 голосов
/ 30 октября 2018
from bs4 import BeautifulSoup
import requests

url = "http://www.oanda.com/currency/live-exchange-rates/"
print(url)
response = requests.get(url)
soup = BeautifulSoup(response.content,'html.parser')
print(soup)

data1 = soup.find('span',class_="inline_int")
for data in data1:
    raw_data = data.text
    print(data1)

Такой подход обычно дает данные с веб-сайта. Однако это не дает ничего, что мне нужно. Я попробовал это и возвращает []. Кто-нибудь знает другой метод, который мог бы работать для этого?

1 Ответ

0 голосов
/ 30 октября 2018

Следующий подход должен принести вам постоянно меняющиеся значения. Поскольку контент динамический, я использовал селен для их сбора.

from selenium import webdriver
from selenium.webdriver.support import ui

driver = webdriver.Chrome()
wait = ui.WebDriverWait(driver, 10)
driver.get("http://www.oanda.com/currency/live-exchange-rates/")
for items in wait.until(lambda driver: driver.find_elements_by_css_selector(".inline_rates_container .rate_row")):
    data = [item.text for item in items.find_elements_by_css_selector(".left a, .right")]
    print(data)
driver.quit()

Это часть вывода, которую вы должны получить:

['EUR/USD', '1.13656', '1.13643', '', 'USD/EUR', '0.87995', '0.87985', '']
['GBP/USD', '1.27762', '1.27743', '', 'USD/GBP', '0.78282', '0.78271', '']
['USD/CAD', '1.31152', '1.31134', '', 'CAD/USD', '0.76258', '0.76247', '']
['USD/CHF', '1.00257', '1.00243', '', 'CHF/USD', '0.99758', '0.99744', '']
['USD/JPY', '112.798', '112.785', '', 'JPY/USD', '0.00887', '0.00887', '']
['EUR/GBP', '0.88966', '0.88951', '', 'GBP/EUR', '1.12421', '1.12402', '']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...