javascript - [新手]python爬虫爬取中证指数官网数据
本文介绍了javascript - [新手]python爬虫爬取中证指数官网数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
想用python爬虫获取中证指数官网上的几个主要指数的每日估值更新,但是下载下来的页面内容却没有想要的数据。想要的数据前面有个JavaScript标签,是不是光靠python没办法获取这个数据?求大神解惑指点。
中证指数有限公司
这是目标页面。
例如想要获取上证指数的静态市盈率,当前是16.27。
获取到的页面代码只能看到<script language="JavaScript">document.write(zsgz11)</script>标签,没有获取到这个标签里面的值。
不知道这个应该怎么处理,还请各位大神指点,谢谢。
代码:
import requests
from bs4 import BeautifulSoup
import os
headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1(KHTML,LIKE Gecko) Chrome/22.0.1207.1 Safari/537.1"}
all_url = 'http://www.csindex.com.cn/sseportal/csiportal/zs/jbxx/daily_index_info.jsp'
start_html = requests.get(all_url, headers = headers)
print(start_html.text)
解决方案
去爬这个页面http://www.csindex.com.cn/sse...
下面是代码:
#coding=utf-8
import requests
from itertools import groupby
url = 'http://www.csindex.com.cn/sseportal/ps/zhs/hqjt/csi/show_zsgz.js'
r = requests.get(url)
text = r.text.replace('"', '').replace('var zsgz','').split('\r\n')
content = [_.split('=') for _ in text if _ and not _.startswith('00')]
rows = []
for _, lst in groupby(content, key=lambda x: int(x[0]) / 10):
row = tuple([v for k, v in lst])
rows.append(row)
print rows
这篇关于javascript - [新手]python爬虫爬取中证指数官网数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文