python - 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
解决方案
您必须使用带有漂亮汤的“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)
推荐阅读
- python-3.x - 如何识别缩写/首字母缩略词并在 spaCy 中扩展它们?
- c# - 在 .NET Core 2.0 WebAPI 的 azure webapp 中加载应用程序设置
- ansible - mysql的Ansible设置
- ruby-on-rails - 表单中的第一个参数不能包含 nil 或动态 html 为空
- html - 无法将图像放入网格中的另一行
- jquery - 我如何在 reactjs 中使用 Jquery
- java - 如何将 Joda-Time LocalDate 数组反序列化为 java.time LocalDate?
- python - 如何运行 Python 文件作为 C 文件的参数?
- flutter - Flutter Admob VideoReward 不适用于现实生活中的应用程序
- javascript - javascript减少功能