import datetime
import requests
import json
word_url = 'http://index.baidu.com/api/SearchApi/thumbnail?area=0&word={}'
def get_html(url):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36",
"Host": "index.baidu.com",
"Referer": "http://index.baidu.com/v2/main/index.html",
"Cipher-Text": "1652425237825_1652501356206_VBpwl9UG8Dvs2fAi91KToRTSAP7sDsQU5phHL97raPDFJdYz3fHf9hBAQrGGCs+qJoP7yb44Uvf91F7vqJLVL0tKnIWE+W3jXAI30xx340rhcwUDQZ162FPAe0a1jsCluJRmMLZtiIplubGMW/QoE/0Pw+2caH39Ok8IsudE4wGLBUdYg1/bKl4MGwLrJZ7H6wbhR0vT5X0OdCX4bMJE7vcwRCSGquRjam03pWDGZ51X15fOlO0qMZ2kqa3BmxwNlfEZ81l3L9nZdrc3/Tl4+mNpaLM7vA5WNEQhTBoDVZs6GBRcJc/FSjd6e4aFGAiCp1Y8MD66chTiykjIN51s7gbJ44JfVS0NjBnsvuF55bs="
}
cookies = {
'Cookie': 你的cookie
}
response = requests.get(url, headers=headers, cookies=cookies)
return response.text
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 = get_html(url.format(uniqid))
return json.loads(resp)['data']
def get_data(keyword, start='2011-01-02', end='2023-01-02'):
url = "https://index.baidu.com/api/SearchApi/index?area=0&word=[[%7B%22name%22:%22{}%22,%22wordType%22:1%7D]]&startDate={}&endDate={}".format(keyword, start, end)
data = get_html(url)
data = json.loads(data)
uniqid = data['data']['uniqid']
data = data['data']['userIndexes'][0]['all']['data']
ptbk = get_ptbk(uniqid)
result = decrypt(ptbk, data)
result = result.split(',')
start = start_date.split("-")
end = end_date.split("-")
a = datetime.date(int(start[0]), int(start[1]), int(start[2]))
b = datetime.date(int(end[0]), int(end[1]), int(end[2]))
node = 0
for i in range(a.toordinal(), b.toordinal()):
date = datetime.date.fromordinal(i)
print(date, result[node])
node += 1
with open('data.csv', 'a+', encoding='gbk') as f:
f.write(keyword + ',' + date.strftime('%Y-%m-%d') + ',' + result[node] + '\n')
if __name__ == '__main__':
names = ['唐小龙', '孟德海', '孟钰', '安欣', '安长林', '徐忠', '徐江', '曹闯', '李响', '李宏伟', '李有田', '杨健', '泰叔', '赵立冬', '过山峰', '陆寒', '陈书婷', '高启兰', '高启强', '高启盛', '高晓晨']
for keyword in names:
start_date = "2023-01-14"
end_date = "2023-02-04"
get_data(keyword, start_date, end_date)
没有合适的资源?快使用搜索试试~ 我知道了~
Python实现电视剧狂飙角色热度条形图
共11个文件
py:5个
gif:3个
csv:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 176 浏览量
2023-08-31
22:13:19
上传
评论
收藏 7.06MB ZIP 举报
温馨提示
使用Python中的pynimate库实现条形动态图,给出相关示例,获取电视剧《狂飙》角色的百度指数数据,对数据进行处理,结合代码制作主要角色热度排行。需要特别注意的是,Python版本要大于等于3.9。
资源推荐
资源详情
资源评论
收起资源包目录
狂飙.zip (11个子文件)
狂飙
sample_2.py 2KB
handle_date.py 311B
example2.gif 3MB
get_data.py 3KB
sample.csv 139B
sample_3.py 1KB
data.csv 9KB
result.csv 2KB
kuangbiao.gif 4.29MB
sample_1.py 802B
example3.gif 1B
共 11 条
- 1
资源评论
python慕遥
- 粉丝: 2331
- 资源: 242
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功