python爬虫中抓取指数的实例讲解

作者:小妮浅浅 时间:2022-02-18 04:59:58 

有一些数据我们是没法直观的查看的,需要通过抓取去获得。听到指数这个词,有的小伙伴们觉得很复杂,似乎只在股票的时候才听说的,比如一些数据的涨跌分析都是比较棘手的问题。不过指数对于我们的数据分析还是很有帮助的,今天小编就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爬虫解决都是不错的选择,感兴趣的小伙伴也可以跟着小编尝试一下。

来源:https://www.py.cn/jishu/jichu/21440.html

标签:python爬虫,抓取指数
0
投稿

猜你喜欢

  • Python深度学习pytorch神经网络汇聚层理解

    2022-08-05 11:57:15
  • Python 中的lambda匿名函数和三元运算符

    2023-04-21 05:22:18
  • JavaScript 颜色梯度和渐变效果

    2009-03-18 11:16:00
  • 基于Python制作一键桌面整理工具

    2022-08-22 11:45:52
  • 关于淘宝页面编码的疑惑

    2009-12-04 12:54:00
  • Mysql5写中文乱码问题解决

    2007-09-17 12:38:00
  • 矩形相交以及求出相交的区域的原理解析

    2023-08-17 18:39:09
  • Python小白垃圾回收机制入门

    2022-05-20 04:38:42
  • matplotlib绘制甘特图的万能模板案例

    2022-07-11 20:24:08
  • 解决Js先触发失去焦点事件再执行点击事件的问题

    2024-04-22 12:50:33
  • Python如何生成随机数及random随机数模块应用

    2022-07-28 22:24:21
  • 谈谈为什么你的 JavaScript 代码如此冗长

    2024-04-17 09:50:07
  • 简单介绍MySQL中索引的使用方法

    2024-01-15 07:04:50
  • 怎样用cmd命令行运行Python文件

    2023-07-15 00:25:11
  • Python实现并行抓取整站40万条房价数据(可更换抓取城市)

    2021-09-24 10:56:43
  • python调用百度语音识别实现大音频文件语音识别功能

    2023-11-29 00:59:53
  • python中random.randint和random.randrange的区别详解

    2021-03-11 00:24:15
  • linux修改mysql数据库文件的路径

    2024-01-19 20:50:42
  • vue-cli4如何打包静态资源到指定目录

    2024-05-22 10:43:24
  • python 将字符串转换成字典dict的各种方式总结

    2022-06-28 21:13:35
  • asp之家 网络编程 m.aspxhome.com