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

Posted 嘟嘟小冰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主板指数市盈率等数据的爬取(类js格式处理,附js处理)相关的知识,希望对你有一定的参考价值。

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

像获取表格中的‘

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

等数据。

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

# hanbb
# come on!!!
import requests
import json
from bs4 import BeautifulSoup
import re
import 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(rzsgz{}\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处理)的主要内容,如果未能解决你的问题,请参考以下文章

python 爬取世纪佳缘,经过js渲染过的网页的爬取

Python实现YY评级分数的爬取,并保存数据(附代码)

Python实现YY评级分数的爬取,并保存数据(附代码)

中证500等主要指数的市盈率(PE)估值高度

python解决m3u8直播视频的爬取

如果爬取一个小说网站以后,如何做到更新内容的爬取并且存储