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实现动态添加类的属性或成员函数的解决方法
Jul 16 Python
Python获取电脑硬件信息及状态的实现方法
Aug 29 Python
浅谈python 四种数值类型(int,long,float,complex)
Jun 08 Python
python中实现字符串翻转的方法
Jul 11 Python
Python unittest单元测试框架总结
Sep 08 Python
Flask框架web开发之零基础入门
Dec 10 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
python 经典数字滤波实例
Dec 16 Python
python+selenium+Chrome options参数的使用
Mar 18 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
python爬虫---requests库的用法详解
Sep 28 Python
移除Selenium中window.navigator.webdriver值
Jun 10 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 5.3.5安装memcache注意事项小结
2011/04/12 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
详解JavaScript中循环控制语句的用法
2015/06/03 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
2019/04/04 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
对Python3中的input函数详解
2018/04/22 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
Python多进程写入同一文件的方法
2019/01/14 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
大学军训感言600字
2014/02/25 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
小学家长评语大全
2014/04/16 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
职工的安全责任书范文!
2019/07/02 职场文书