分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

主板指数市盈率等数据的爬取(类js格式处理,附js处理)

发布时间:2023-09-06 01:29责任编辑:胡小海关键词:js

中证主板市场的网页:http://www.csindex.com.cn/zh-CN/downloads/index-information

像获取表格中的‘

指数简称静态市盈率滚动市盈率市净率股息率去年底静态市盈率去年底滚动市盈率去年底市净率

等数据。

不是js格式加载的,在网页源代码中找不到对应的数据,因此爬取的方法要有些改变。

# hanbb# come on!!!import requestsimport jsonfrom bs4 import BeautifulSoupimport reimport csv
# 首先访问链接 注意:这里的链接不是网页链接而是js的链接
def get_html_text(url): ???try: ???????r = requests.get(url) ???????r.raise_for_status() ???????r.encoding = r.apparent_encoding ???????return r.text ???except: ???????return ""
# 网页解析,其实这里没有用到def getinfo(url): ???html = get_html_text(url) ???soup = BeautifulSoup(html, "html.parser") ???return soup
# 正则表达式的使用def re_find(re_express,url): ???zhishu_info = re.findall(r‘zsgz{}\d=".+?"‘.format(re_express),get_html_text(url)) ???return zhishu_info# 数据储存def save(filename,info): ???file = open(‘E:\\download2\\{}.csv‘.format(filename), ‘a‘, newline=‘‘) ?# 打开的文件名称,追加模式,不写newline=‘‘会出现行间距变大 ???writerfile = csv.writer(file) ?# 写入命令 ???writerfile.writerow(info) ?# 写入内容 ???file.close() ?# 关闭文件if __name__ == ‘__main__‘: ???url = "http://www.csindex.com.cn/data/js/show_zsgz.js?str=nG1Rum4NumQpqwaW" ???print(get_html_text(url))for i in range(1,12): ???????szzs = re_find(i, url) ???????#print(szzs) ???????list2 = [] ???????for j in szzs: ???????????info=re.findall(r‘"(.+?)"‘,j)[0] ????# 去列表中的字符串,将字符串整合成列表 ???????????info_all=list2.append(info) ???????print(list2) ???????save(‘zhubanzhishu‘,list2)

js格式的处理:https://zhuanlan.zhihu.com/p/24838761

爬取今日头条,这个很好!!

主板指数市盈率等数据的爬取(类js格式处理,附js处理)

原文地址:http://www.cnblogs.com/hanbb/p/8007204.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved