首页 > 解决方案 > Python Web Scraping 无法提取数据并显示无

问题描述

再会。我希望有人可以帮助我完成我想要完成的工作。我想抓取这个页面https://charts.bogged.finance/?token=0x27e89d357957cE332Ff442DB69F4b476401BbBc5但由于我是新手,这对我来说非常具有挑战性并且已经尝试了好几天了。非常感谢您的帮助,因为这是我进入新工作的垫脚石。

import re
import requests
from bs4 import BeautifulSoup

contractpage = requests.get("https://charts.bogged.finance/?token=0x27e89d357957cE332Ff442DB69F4b476401BbBc5")
ca = BeautifulSoup(contractpage.content, 'html.parser')

#printprice
price = ca.find(id='dark:text-white text-gray-800 text-sm md:text-lg')
print(price)

#24h Change
change= ca.find(id='text-sm md:text-lg dark:text-success-bright text-success-bright')
change= change.find('span', class_='dark:text-white text-gray-800 text-sm md:text-lg').get_text()
print(change)

当我运行脚本进行测试时,它只显示无。

===== RESTART: C:/Python38/Temp1.py =====
None
None
>>>

Data To Be Extracted
  Price: $0.000000054851
  24h Change: 295.7%
  24h Volume: $4,488,019
  Liquidity: $3,422,055
  MarketCap: $37,890,633

标签: pythonweb-scrapingbeautifulsoupdata-mining

解决方案


您必须使用带有漂亮汤的“selenium”,因为请求不能很好地支持动态页面。这是我尝试过的,它有效。

from bs4 import BeautifulSoup
import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://charts.bogged.finance/?token=0x27e89d357957cE332Ff442DB69F4b476401BbBc5")
time.sleep(10)
soup = BeautifulSoup(driver.page_source,'html.parser')
res = soup.find('h4', class_='dark:text-white text-gray-800 text-sm md:text-lg').get_text()
print(res)

推荐阅读