javascript - [新手]python爬虫爬取中证指数官网数据
PHP中文网
PHP中文网 2017-04-11 12:31:50
[JavaScript讨论组]

想用python爬虫获取中证指数官网上的几个主要指数的每日估值更新,但是下载下来的页面内容却没有想要的数据。想要的数据前面有个JavaScript标签,是不是光靠python没办法获取这个数据?求大神解惑指点。

中证指数有限公司
这是目标页面。


例如想要获取上证指数的静态市盈率,当前是16.27。

获取到的页面代码只能看到标签,没有获取到这个标签里面的值。

不知道这个应该怎么处理,还请各位大神指点,谢谢。

代码:

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)
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
怪我咯

去爬这个页面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
怪我咯

动态页面,异步加载的。Python有些模块可以处理这些异步的内容。你要的数据在这里

巴扎黑

因为是使用js动态加载,要使用selenium和phantomjs库,才能抓取js渲染后的数据。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号