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入门篇之列表和元组
Oct 17 Python
python opencv之SURF算法示例
Feb 24 Python
python自动发送邮件脚本
Jun 20 Python
python基础学习之如何对元组各个元素进行命名详解
Jul 12 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
Mar 05 Python
Python线程障碍对象Barrier原理详解
Dec 02 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
Python中有几个关键字
Jun 04 Python
pandas DataFrame运算的实现
Jun 14 Python
django rest framework 自定义返回方式
Jul 12 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
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
smarty缓存用法分析
2014/12/16 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
vue省市区三联动下拉选择组件的实现
2017/04/28 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
2019/06/04 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
详解Python3.1版本带来的核心变化
2015/04/07 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
酒店前厅员工辞职信
2014/01/08 职场文书
护理工作感言
2014/01/16 职场文书
人事主管岗位职责
2014/01/30 职场文书
个人查摆剖析材料
2014/02/04 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
Python pyecharts绘制条形图详解
2022/04/02 Python