gpt4 book ai didi

python - 网络从表格中抓取某一行

转载 作者:行者123 更新时间:2023-12-04 00:50:25 25 4
gpt4 key购买 nike

我正在努力从 this 中抓取某一行网站。

首先,表格元素中没有类,但我想我有一个解决方法。

我的问题是我想打印(或存储在变量中或访问数据)某一行,假设第一个值为“Bollat​​e”的行:Screenshot of the row in the website

所以我编码:

import requests
import bs4

URL = "http://www.centrometeolombardo.com/content.asp?CatId=332&ContentType=Dati"

response = requests.get(URL)
soup = bs4.BeautifulSoup(response.text, "lxml")

table = soup.find(text="Bollate").find_parent("table")

for a in table:
if a.text == "Bollate":
for val in a.parent-find_next_siblings():
print(val.text)

但我得到:

Traceback (most recent call last):
File "/home/pi/Documents/Python/ngu.py", line 12, in <module>
if a.text == "Bollate":
File "/usr/lib/Python3/dist-packages/bs4/element.py", line 370, in _getattr_
self._class_._name_, attr))
AttributeError: 'NavigableString' object has no attribute 'text'

这表明我错了,因为我得到的不是文本,但我不知道如何解决这个问题。

谢谢大家

最佳答案

您可以使用 pandas 获取 HTML 并解析表格。然后只需选择您需要的值。

方法如下:

import pandas as pd

url = "http://www.centrometeolombardo.com/content.asp?CatId=332&ContentType=Dati"
df = pd.read_html(url, flavor="bs4")[19]
print(df.loc[df[0] == "Bollate"])

输出:

         0     1     2      3  4  5
2 Bollate -0.3 12.3 Brina - -

关于python - 网络从表格中抓取某一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67000250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com