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中关于使用模块的基础知识
May 24 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
Python使用装饰器模拟用户登陆验证功能示例
Aug 24 Python
python解析含有重复key的json方法
Jan 22 Python
使用python读取.text文件特定行的数据方法
Jan 28 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
python保留小数位的三种实现方法
Jan 07 Python
flask 框架操作MySQL数据库简单示例
Feb 02 Python
Python使用graphviz画流程图过程解析
Mar 31 Python
如何通过Python3和ssl实现加密通信功能
May 09 Python
基于PyQT实现区分左键双击和单击
May 19 Python
python suds访问webservice服务实现
Jun 26 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
PHP MemCached 高级缓存应用代码
2010/08/05 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
浅析PHP开发规范
2018/02/05 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
javascript 浏览器检测代码精简版
2010/03/04 Javascript
js鼠标左右键 键盘值小结
2010/06/11 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
js 用于检测类数组对象的函数方法
2017/05/02 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
详解Python编程中基本的数学计算使用
2016/02/04 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
Pam & Gela官网:美国性感前卫女装品牌
2018/07/19 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
2014党员民主评议个人总结
2014/09/10 职场文书
淘宝好评语句大全
2014/12/31 职场文书
2015高考寄语集锦
2015/02/27 职场文书
党课主持词大全
2015/06/30 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS