今
日
鸡
汤
我有功于人不可念,而过则不可不念。
大家好,我是皮皮。
一、前言
继续接着上一篇文章说,这一篇文章我们一起来看看大佬们的解决办法。
二、实现过程
这里【郑煜哲·Xiaopang】和【瑜亮老师】给了一个提示,如下图所示:
后来【隔壁山楂】给出了代码,如下所示:
from requests_html import HTMLSession
from fake_useragent import UserAgent
import pandas as pd
session = HTMLSession()
ua = UserAgent().random
day_url_all = [] # 取当前网页下所有交易行情数据的url
for i in range(1,2): #先爬取2页数据,待数据测试无问题后,在扩大数据爬取
r = session.get(f"https://www.sge.com.cn/sjzx/mrhqsj?p={i}", headers = {'user-agent':ua})
# print(r.html)
xpath_url = r.html.xpath("//ul/li/a[@class]")
for i in xpath_url:
# 获取当前网页下所有交易行情数据的url
url = "https://www.sge.com.cn" + i.find('a[href]')[0].attrs.get('href').lstrip('.')
day_url_all.append(url)
df_all = []
for i in day_url_all:
r = session.get(i,headers = {'user-agent':ua})
data = pd.read_html(r.html.raw_html, header=0)[0]
data['时间'] = r.html.xpath('//div[@class="title"]/p/span/text()')[0]
df_all.append(data)
df_all = pd.concat(df_all)
df_all.to_excel("最终数据.xlsx")
顺利地解决了粉丝的问题。
@隔壁山楂 大佬 在请问下 那是不是只要数据在网页上是以表格的形式存在,就可以使用pd.read_html()获取到数据? 之前有用过但是数据取不出来 想确认下是不是我的问题?
又学到一个知识点!!
三、总结
大家好,我是皮皮。这篇文章主要盘点了一个Python打包处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
领取专属 10元无门槛券
私享最新 技术干货