gpt4 book ai didi

javascript - 使用 python 2.7、beautiful soup 和 selenium 抓取 asp 和 javascript 生成表

转载 作者:行者123 更新时间:2023-11-30 00:15:44 24 4
gpt4 key购买 nike

我需要抓取 JavaScript 生成的表格并将一些数据写入 csv 文件。我仅限于 python 2.7、Beautiful Soup 和/或 Selenium。最接近我需要的部分代码是有问题的 14529849 ,但我得到的返回是一个空列表。我正在查看的网站是:

http://hydromet.lcra.org/repframe.html

来源: http://hydromet.lcra.org/repstage.asp

例如,其中一条记录如下所示:

 <tr>
<td class="flagmay"><a href="javascript:dataWin('STAGE','119901','Colorado River at Winchell')" class="tablink">Colorado River at Winchell</a></td>
<td align="left" class="flagmay">Jan 12 2016 5:55PM</td><td align="right" class="flagmay">2.48</td><td align="right" class="flagmay">4.7</td></tr>

以及我尝试写入 csv 的内容应该如下所示:

车站|站号|时间 |舞台|流量

Winchell 的科罗拉多河 | 119901 | 2016 年 1 月 12 日下午 5:55 | 2.48 | 4.7

谁能给我一些指点?提前谢谢你。

最佳答案

试试这个:

我正在使用 pandasrequestsBeautifulSoup4 库并测试该代码是否适用于 python 2.7.113.5.1

import requests
import pandas
from bs4 import BeautifulSoup

url = 'http://hydromet.lcra.org/repstage.asp'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
tables = soup.find_all('table')

# convert the html table data into pandas data frames, skip the heading so that it is easier to add a column
df = pandas.read_html(str(tables[1]), skiprows={0}, flavor="bs4")[0]

# loop over the table to find out station id and store it in a dict obj
a_links = soup.find_all('a', attrs={'class': 'tablink'})
stnid_dict = {}
for a_link in a_links:
cid = ((a_link['href'].split("dataWin('STAGE','"))[1].split("','")[0])
stnid_dict[a_link.text] = cid

# add the station id column from the stnid_dict object above
df.loc[:, (len(df.columns)+1)] = df.loc[:, 0].apply(lambda x: stnid_dict[x])
df.columns = ['Station', 'Time', 'Stage', 'Flow', 'StationID']

# added custom order of columns to add in csv, and to skip row numbers in the output file
df.to_csv('station.csv', columns=['Station', 'StationID', 'Time', 'Stage', 'Flow'], index=False)

此脚本将在与脚本相同的位置创建一个名为 station.csv 的 CSV 文件。

关于javascript - 使用 python 2.7、beautiful soup 和 selenium 抓取 asp 和 javascript 生成表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34798397/

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