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 相关文章推荐
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
Python中的zip函数使用示例
Jan 29 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
Python实现的爬取网易动态评论操作示例
Jun 06 Python
Python socket套接字实现C/S模式远程命令执行功能案例
Jul 06 Python
tensorflow实现加载mnist数据集
Sep 08 Python
关于python导入模块import与常见的模块详解
Aug 28 Python
在vscode中配置python环境过程解析
Sep 28 Python
redis数据库及与python交互用法简单示例
Nov 01 Python
opencv+python实现均值滤波
Feb 19 Python
详解Python中第三方库Faker
Sep 25 Python
python 提高开发效率的5个小技巧
Oct 19 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类
2016/01/09 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
微信小程序实现日历效果
2018/12/28 Javascript
微信小程序云开发修改云数据库中的数据方法
2019/05/18 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
基于node+vue实现简单的WebSocket聊天功能
2020/02/01 Javascript
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
Form表单及django的form表单的补充
2019/07/25 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
商场中秋节广播稿
2014/01/17 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
2015年幼儿园中班工作总结
2015/04/25 职场文书
信访维稳承诺书
2015/05/04 职场文书
运动会观后感
2015/06/09 职场文书
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技