【问题标题】:How to get data some table data in a url using python如何使用python获取url中的一些表数据
【发布时间】:2023-02-08 05:30:53
【问题描述】:

我想在网站上获取一些数据,但我的代码并没有真正起作用。我是 python 的新手,我只是想让一些代码工作。非常欢迎任何想法或帮助完成这项工作。提前致谢。

import requests
from bs4 import BeautifulSoup

headers = {"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:92.0) Gecko/20100101 Firefox/92.0",}

url = "https://mine.com/blockexplorer/account/GDOI7OSBDM3WPXWFT3RUPGGLV3Y5MKZJKNN4CZMQITUWWQRUF5IXCLZJ"
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.content, "lxml")
t = soup.find("table", class_="table")
trs = t.find("tbody").find_all("tr")

for tr in trs:
    print(list(tr.stripped_strings))

当前结果:

Traceback (most recent call last):
  File "C:/Users/es***a/Desktop/Pi Scripts/pi-temp1.py", line 14, in <module>
    trs = t.find("tbody").find_all("tr")
AttributeError: 'NoneType' object has no attribute 'find'

需要结果:

Public Key: GDOI7OSBDM3WPXWFT3RUPGGLV3Y5MKZJKNN4CZMQITUWWQRUF5IXCLZJ
Balance: 26.9231952

【问题讨论】:

  • 正如经常发生的那样,您实际上并没有查看该站点提供的 HTML。如果您在浏览器中执行“查看源代码”,您会看到该页面上没有表格。几乎没有 HTML。该页面全部使用 Javascript 动态构建。您将需要使用浏览器进行捕获,使用诸如 Selenium 之类的东西。

标签: python web-scraping beautifulsoup python-requests


【解决方案1】:

您可以使用一个 API 来获取数据:

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:104.0) Gecko/20100101 Firefox/104.0',
}

public_key = "GDOI7OSBDM3WPXWFT3RUPGGLV3Y5MKZJKNN4CZMQITUWWQRUF5IXCLZJ"
url = f"https://api.testnet.minepi.com/accounts/{public_key}"

response = requests.get(url, headers=headers).json()
balances = response['balances']
for balance in balances:
    print(f"Public Key: {response['account_id']}")
    print(f"Balance: {balance['balance']}")

注意:对于您提供的密钥,这是结果

Public Key: GDOI7OSBDM3WPXWFT3RUPGGLV3Y5MKZJKNN4CZMQITUWWQRUF5IXCLZJ
Balance: 100.0000000

【讨论】:

  • 在 url 中,有 2 个按钮,即:测试网主网我正在尝试获取主网数据
  • 这是在幕后使用的 API。没有其他端点指向mainnet,因为minepi 上的数据使用api.testnet.minepi.com。仔细检查公钥。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-09
  • 2020-06-22
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
相关资源
最近更新 更多