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用字典统计单词或汉字词个数示例
Apr 22 Python
谈谈如何手动释放Python的内存
Dec 17 Python
对Python中数组的几种使用方法总结
Jun 28 Python
Linux下多个Python版本安装教程
Aug 15 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
基于python的socket实现单机五子棋到双人对战
Mar 24 Python
Python OpenCV中的resize()函数的使用
Jun 20 Python
django 快速启动数据库客户端程序的方法示例
Aug 16 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
Python实现爬取网页中动态加载的数据
Aug 17 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连接MYSQL数据库的3种常用方法
2017/02/27 PHP
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
详解webpack+express多页站点开发
2017/12/22 Javascript
angularjs $http调用接口的方式详解
2018/08/13 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
Python中eval带来的潜在风险代码分析
2017/12/11 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
详解Python绘图Turtle库
2019/10/12 Python
使用Tkinter制作信息提示框
2020/02/18 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
一些Unix笔试题和面试题
2013/01/22 面试题
医学院护理专业应届生求职信
2013/11/12 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
先进基层党组织材料
2014/12/25 职场文书
小学总务工作总结
2015/08/13 职场文书
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL
Go语言应该什么情况使用指针
2021/07/25 Golang
Python jiaba库的使用详解
2021/11/23 Python