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 strip()函数 介绍
May 24 Python
Python中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
利用Python实现颜色色值转换的小工具
Oct 27 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
python中for用来遍历range函数的方法
Jun 08 Python
解决PyCharm import torch包失败的问题
Oct 13 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
Python库skimage绘制二值图像代码实例
Apr 10 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 Python
Python批量将csv文件转化成xml文件的实例
May 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
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
JS+DIV+CSS实现仿表单下拉列表效果
2015/08/18 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
JavaScript中数组去重的5种方法
2020/07/04 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
python pygame模块编写飞机大战
2018/11/20 Python
python支付宝支付示例详解
2019/08/22 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
税务干部个人整改措施思想汇报
2014/10/10 职场文书
公司租房协议书
2014/10/14 职场文书
给朋友的赠语
2015/06/23 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python