gpt4 book ai didi

python - Beautifulsoup 为 Pandas 数据框选择标签

转载 作者:行者123 更新时间:2023-12-04 10:15:39 24 4
gpt4 key购买 nike

我目前正在从事我的量化项目。这是我正在经历的事情:我需要第一手的股票数据来处理,我有一种下载股票 csv 文件的方法,但不是最好的方法,因为我不想轰炸服务器,假设每两个或三天,1GB 下载。

我拥有的是 5 年跨度的所有数据的集合。我想写一个可以更新新记录的代码和pd.concat()它与旧的,这是更有效的方式来做到这一点。

这是我拥有的网址和代码:

url = 'http://quotes.money.163.com/service/chddata.html?code=1000001&start=20200101&end=20200401'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) '
'AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE'
}
response = requests.get(url, headers=headers).content
soup = bs4.BeautifulSoup(response, 'lxml')
content = soup.select('p')[0]

它返回:
<p>日期,股票代码,名称,...,流通市值,成交笔数
2020-04-01,000001,平安银行,...,2.50142285572e+11,2.50140272863e+11,32484
2020-03-31,000001,平安银行,...,2.48395752934e+11,2.48393754278e+11,32700
2020-03-30,000001,平安银行,...,2.51112581482e+11,2.51110560966e+11,37324
<..>
2020-01-06,000001,平安银行,...,3.3125902364e+11,3.31256358245e+11,48856
2020-01-03,000001,平安银行,...,3.33393674642e+11,3.33390992071e+11,58875
2020-01-02,000001,平安银行,...,3.2737784e+11,3.27375205834e+11,67692
</p>


我的下一行代码给我带来了麻烦:
df1 = pd.DataFrame(content.prettify())[0]

或使用另一种方法:
soup = bs4.BeautifulSoup(response, 'lxml').get_text()
df1 = pd.DataFrame(soup)

返回:
ValueError: DataFrame constructor not properly called!

我不太确定如何解决这个问题。
请你看一下好吗?
谢谢你。

我的替代方法是将所有最近的记录下载到我的硬盘上,可以连接它们。

最佳答案

可以直接从在线CSV读取数据


import pandas as pd

URI = 'http://quotes.money.163.com/service/chddata.html?code=1000001&start=20200101&end=20200401'

df = pd.read_csv(URI, encoding='euc_kr')

我不确定未经测试使用哪种编码,但此代码应返回值。

关于python - Beautifulsoup 为 Pandas 数据框选择标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61073621/

24 4 0