赞
踩
目录
(这里导入了requests
库来发送HTTP请求,以及datetime
库来处理日期和时间(尽管在这段代码中没有实际使用它))
-
- 1.import requests
- 2.from datetime import datetime
-
-
search函数是一种常见的计算机编程函数,用于在给定字符串中查找特定的子串。该函数的基本功能是在一个字符串中查找另一个字符串的位置,如果找到了,则返回该子串在原始字符串中的位置,如果没有找到,则返回-1。
hot_search函数的使用方法:
requests
库或其他HTTP库发送GET请求到请求URL,并获取响应。encoding函数是一种编码函数,通常用于将一些特定的字符或数据进行转换,以便在不同的环境中进行传输或存储。
1. 编码转换:encoding函数可以将一个字符或字符串从一种编码格式转换成另一种编码格式,这通常是为了解决不同编码格式之间的兼容性问题。
2. 数据加密:encoding函数可以将敏感数据进行加密处理,以保证数据的安全性,防止数据被非法获取或篡改。
3. 数据压缩:encoding函数可以将大量数据进行压缩处理,以减少数据传输的带宽和存储的空间。
decoding函数的使用方法:
hot_search
函数:首先,函数调用hot_search
函数来获取微博的热搜榜数据。hot_search
函数返回的数据为空(即获取热搜榜失败),则打印一条错误消息并返回。hot_li
用于存储搜索词,hot_label
用于存储标签。以下是相关代码:
hot_search函数部分:
- def hot_search():
- url = 'https://weibo.com/ajax/side/hotSearch'
- response = requests.get(url)
- if response.status_code != 200:
- return None
- return response.json()['data']
decoding函数的部分:
- def decoding(num):
- data = hot_search()
- if not data:
- print('获取微博热搜榜失败')
- return
- top = (f"置顶:{data['hotgov']['word'].strip('#')}")
- hot_li = []
- hot_label = []
- for i, rs in enumerate(data['realtime'][:num], 1):
- title = rs['word']
- try:
- label = rs['label_name']
- if label in ['新','爆','沸']:
- label = label
- else:
- label = ''
- except:
- label = ''
- # hot_li.append(f"{i}. {title} {label}")
- hot_li.append(f"{title}")
- hot_label.append(f"{label}")
- return hot_li,hot_label
这个函数首先调用hot_search
函数来获取热搜榜数据。如果数据不存在(即hot_search
返回None),则打印一个错误消息并返回。
接下来,它从热搜榜数据中提取置顶的搜索词和其他实时搜索词。对于实时搜索词,它还提取了每个搜索词的标签。标签有三种可能的状态:'新'、'爆'和'沸'。
最后,它将实时搜索词及其标签分别存储在hot_li
和hot_label
列表中。这些列表在函数结束时返回。
main(num)
num
,表示要打印的热搜数量。hot_search()
函数(该函数未在提供的代码中定义)来获取热搜数据。hot_search()
返回的数据为空(可能表示获取数据失败),则打印一条错误消息并退出函数。num
个热搜词。对于每个热搜词,它提取标题和标签,并按照一定格式打印出来。- def main(num):
- data = hot_search()
- if not data:
- print('获取微博热搜榜失败')
- return
- print(f"置顶:{data['hotgov']['word'].strip('#')}")
异常处理
- for i, rs in enumerate(data['realtime'][:num], 1):
- title = rs['word']
- try:
- label = rs['label_name']
- if label in ['新','爆','沸']:
- label = label
- else:
- label = ''
- except:
- label = ''
脚本入口
if __name__ == '__main__':
是Python脚本的入口点。当这个脚本被直接运行时,这一部分代码会被执行。num
被硬编码为20,表示要获取并打印前20个热搜词。main(num)
函数来执行主要逻辑。- if __name__ == '__main__':
- num = 20 #获取热搜的数量
- main(num)
输出格式
print(f"{i}. {title} {label}")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。