【问题标题】:Web-scraping - CSS Selector returning 0网页抓取 - CSS 选择器返回 0
【发布时间】:2021-10-26 00:56:40
【问题描述】:
我正在关注 Udemy 上的自动化无聊东西课程,并试图从币安获取比特币的价格。但是,当使用 CSS 选择器时,我得到的值始终为 0。
import requests, bs4
res = requests.get('https://www.binance.com/en')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text)
elems = soup.select('#top_crypto_table-2-BTC_BUSD > div.css-11d5f40')
elems[0].text.strip()
'0'
【问题讨论】:
标签:
python
css
web-scraping
【解决方案1】:
BeautifulSoup 在这种情况下不起作用,因为 JavaScript 会不断更新这些值。
您需要尝试 Selenium 并获取数据。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import requests, bs4
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome(executable_path=r"C:\Users\User\Downloads\chromedriver.exe", options=options)
driver.get('https://www.binance.com/en')
soup = bs4.BeautifulSoup(driver.page_source, 'lxml')
elems = soup.select_one('#top_crypto_table-2-BTC_BUSD > div.css-11d5f40')
print(elems.text.strip())
目前的价值。
$46,877.79