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系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
python中pycurl库的用法实例
Sep 30 Python
Python实时获取cmd的输出
Dec 13 Python
利用Python实现Windows定时关机功能
Mar 21 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
Python pygorithm模块用法示例【常见算法测试】
Aug 16 Python
django 配置阿里云OSS存储media文件的例子
Aug 20 Python
Python搭建代理IP池实现存储IP的方法
Oct 27 Python
Python使用matplotlib绘制圆形代码实例
May 27 Python
Python QTimer实现多线程及QSS应用过程解析
Jul 11 Python
Django REST Framework 分页(Pagination)详解
Nov 30 Python
Python  序列化反序列化和异常处理的问题小结
Dec 24 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生成唯一的订单函数分享
2015/02/02 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
Python常用列表数据结构小结
2014/08/06 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
python3.7调试的实例方法
2020/07/21 Python
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
2014年五一活动策划方案
2014/03/15 职场文书
小学教师评语大全
2014/04/23 职场文书
保护环境建议书300字
2014/05/13 职场文书
音乐教师求职信范文
2015/03/20 职场文书
单位工资证明范本
2015/06/12 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
Python3接口性能测试实例代码
2021/06/20 Python
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技