【发布时间】:2021-02-28 07:23:52
【问题描述】:
我对使用 python 有点陌生,我被分配了一项需要从表中抓取数据的任务。我也不太了解html。我以前从未这样做过,并且花了几天时间研究各种刮桌子的方法。不幸的是,所有的例子似乎都是一个比我正在处理的更简单的网页布局。我尝试了很多不同的方法,但都没有让我选择我需要的表格数据。
如何在以下网页底部的“每日水位”标签下抓取表格?
网址 = https://apps.wrd.state.or.us/apps/gw/gw_info/gw_hydrograph/Hydrograph.aspx?gw_logid=HARN0052657
我已尝试使用以下链接中的方法,其他未在此处显示:
Scrape table with BeautifulSoup
Web scraping with BeautifulSoup
我尝试过的一些脚本:
from bs4 import BeautifulSoup
import requests
html = requests.get(url).text
soup = BeautifulSoup(html, "html.parser")
data = soup.find_all("table") # {"class": "xxxx"})
我也尝试过使用 pandas,但我不知道如何选择我需要的表格,而不是网页上具有基本井信息的第一个表格:
import pandas as pd
df_list = pd.read_html(url)
df_list
不幸的是,当我运行这个脚本时,我需要的数据甚至没有显示出来,而且我试图选择的表没有一个类,我可以用它来只选择那个表而不是基本的表信息。我检查了网页,但似乎找不到找到正确餐桌的方法。
就最终结果而言,我需要将其导出为 csv 或 pandas 数据框,以便我可以将其与建模的地下水数据绘制成图表以进行比较。任何建议将不胜感激!
【问题讨论】:
-
我不会刮这个,我会寻找源数据库
-
你想只废弃每日水位标签吗?
-
@anon01 虽然您的评论并没有那么有帮助,但它确实证实了我对这项任务的感受,并且老实说让我感觉更好,为什么我在努力取得任何进展,哈哈!
标签: python-3.x pandas web-scraping beautifulsoup