网页抓取解密(使用Python网络爬虫获取基金数据信息信息的篇文章分享)
优采云 发布时间: 2022-04-15 22:16网页抓取解密(使用Python网络爬虫获取基金数据信息信息的篇文章分享)
大家好,我是一名高级Python初学者。
一、前言
前几天有个粉丝问我基金信息。我会在这里分享。有兴趣的朋友也可以积极尝试。
二、数据采集
这里我们的目标网站是某基金的官网,要抓取的数据如下图所示。
可以看到上图中的基金代码栏,有不同的数字,随便点击一个,就可以进入基金详情页面,链接也很规整,以基金代码为符号。
其实这个网站并不难,数据没有加密,在源码中可以直接看到网页上的信息。
这降低了抓取的难度。通过浏览器抓包的方法可以看到具体的请求参数,可以看到请求参数中只有pi在变化,而这个值恰好对应页面,所以可以直接构造请求参数。
代码实现过程
找到数据源之后,接下来就是实现代码了。让我们来看看。这里有一些关键代码。
获取股票 id 数据
response = requests.get(url, headers=headers, params=params, verify=False)
pattern = re.compile(r'.*?"(?P.*?)".*?', re.S)
result = re.finditer(pattern, response.text)
ids = []
for item in result:
# print(item.group('items'))
gp_id = item.group('items').split(',')[0]
结果如下所示:
然后构建详情页的链接,获取详情页的基金信息。关键代码如下:
response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding
selectors = etree.HTML(response.text)
danweijingzhi1 = selectors.xpath('//dl[@class="dataItem02"]/dd[1]/span[1]/text()')[0]
danweijingzhi2 = selectors.xpath('//dl[@class="dataItem02"]/dd[1]/span[2]/text()')[0]
leijijingzhi = selectors.xpath('//dl[@class="dataItem03"]/dd[1]/span/text()')[0]
lst = selectors.xpath('//div[@class="infoOfFund"]/table//text()')
结果如下所示:
具体信息经过相应的字符串处理,然后保存到csv文件中,结果如下图所示:
有了这个,您可以进行进一步的统计和数据分析。
三、总结
大家好,我是一名高级Python初学者。本篇文章主要分享使用Python网络爬虫获取资金数据信息。这个项目难度不大,但是有一点坑。欢迎您积极尝试。如果您遇到任何问题,请加我的朋友,我会帮助解决。
这个文章主要是根据【股票类型】的分类。我没有做过其他类型。欢迎您尝试一下。其实逻辑是一样的,只要改变参数即可。
最后,需要本文代码的朋友,可以加我获取!另外,为了方便大家学习Python,我还成立了一个优质的Python学习交流群。你可以问任何关于 Python 的问题。需要进来的朋友加我v,我拉你!
小伙伴们快来练习吧!如果你在学习过程中遇到任何Python问题,请加我为好友,我会拉你进入Python学习交流群一起讨论学习。