python爬虫中抓取指数的实例讲解


Posted in Python onDecember 01, 2020

有一些数据我们是没法直观的查看的,需要通过抓取去获得。听到指数这个词,有的小伙伴们觉得很复杂,似乎只在股票的时候才听说的,比如一些数据的涨跌分析都是比较棘手的问题。不过指数对于我们的数据分析还是很有帮助的,今天小编就python爬虫中抓取指数得方法给大家带来讲解。

刚好这几天需要用到这个爬虫,结果发现baidu指数的请求有点变化,所以就改了改:

import requests
import sys
import time
word_url = 'http://index.baidu.com/api/SearchApi/thumbnail?area=0&word={}'
COOKIES = ''
headers = {
 'Accept': 'application/json, text/plain, */*',
 'Accept-Encoding': 'gzip, deflate',
 'Accept-Language': 'zh-CN,zh;q=0.9',
 'Cache-Control': 'no-cache',
 'Cookie': COOKIES,
 'DNT': '1',
 'Host': 'index.baidu.com',
 'Pragma': 'no-cache',
 'Proxy-Connection': 'keep-alive',
 'Referer': 'http://index.baidu.com/v2/main/index.html',
 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36',
 'X-Requested-With': 'XMLHttpRequest',
}
def decrypt(t,e):
 n = list(t)
 i = list(e)
 a = {}
 result = []
 ln = int(len(n)/2)
 start = n[ln:]
 end = n[:ln]
 for j,k in zip(start, end):
  a.update({k: j})
 for j in e:
  result.append(a.get(j))
 return ''.join(result)
  
def get_ptbk(uniqid):
 url = 'http://index.baidu.com/Interface/ptbk?uniqid={}'
 resp = requests.get(url.format(uniqid), headers=headers)
 if resp.status_code != 200:
  print('获取uniqid失败')
  sys.exit(1)
 return resp.json().get('data')
def get_index_data(keyword, start='2011-01-03', end='2019-08-05'):
 keyword = str(keyword).replace("'", '"')
 url = f'http://index.baidu.com/api/SearchApi/index?area=0&word={keyword}&area=0&startDate={start}&endDate={end}'
 resp = requests.get(url, headers=headers)
  print('获取指数失败')
 content = resp.json()
 data = content.get('data')
 user_indexes = data.get('userIndexes')[0]
 uniqid = data.get('uniqid')
 ptbk = get_ptbk(uniqid)
 while ptbk is None or ptbk == '':
  ptbk = get_ptbk(uniqid)
 all_data = user_indexes.get('all').get('data')
 result = decrypt(ptbk, all_data)
 result = result.split(',')
 print(result)
if __name__ == '__main__':
 words = [[{"name": "酷安", "wordType": 1}]]
get_index_data(words)

输出:

python爬虫中抓取指数的实例讲解 

运行代码就可以得到我们想要的指数了,当然也可以用来看股票以及其他的一些操作,运用python爬虫解决都是不错的选择,感兴趣的小伙伴也可以跟着小编尝试一下。

到此这篇关于python爬虫中抓取指数的实例讲解的文章就介绍到这了,更多相关python爬虫中如何抓取指数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python的Flask框架中@app.route的用法教程
Mar 31 Python
分享Python开发中要注意的十个小贴士
Aug 30 Python
简单谈谈python中的语句和语法
Aug 10 Python
Python使用struct处理二进制的实例详解
Sep 11 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
Apr 05 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
python中metaclass原理与用法详解
Jun 25 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
Jul 06 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 Python
jupyter notebook远程访问不了的问题解决方法
Jan 11 Python
OpenCV灰度化之后图片为绿色的解决
Dec 01 #Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
Dec 01 #Python
python连接mongodb数据库操作数据示例
Nov 30 #Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
Nov 30 #Python
Python命令行参数定义及需要注意的地方
Nov 30 #Python
用sleep间隔进行python反爬虫的实例讲解
Nov 30 #Python
Python基于Faker假数据构造库
Nov 30 #Python
You might like
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
document.all与WEB标准
2020/05/13 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
JavaScript中0和""比较引发的问题
2016/05/26 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
ionic3 懒加载
2017/08/16 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
[01:34]2014DOTA2展望TI 剑指西雅图VG战队专访
2014/06/30 DOTA
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
物流管理专业大学生自荐信
2013/10/04 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
餐饮投资计划书
2014/04/25 职场文书
教师考核材料
2014/05/21 职场文书
安全口号大全
2014/06/21 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
医院护士工作检讨书
2014/10/26 职场文书
雷峰塔导游词
2015/02/09 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
详解vue中v-for的key唯一性
2021/05/15 Vue.js
JavaScript异步操作中串行和并行
2021/11/20 Javascript
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电