qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

用python语言帮我写一份爬取微博热搜的代码

时间2023-04-07 15:10:48 提问来自 广东省深圳市 的网友 分类创作 浏览283
# 导入所需要的库 import requests # 用来发送请求 from lxml import etree # 用来解析网页内容 import json # 用来处理json数据 import re # 正则表达式 # 定义一个函数,用于爬取微博热搜信息 def get_weibo_hot(): headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36'} url = 'https://s.weibo.com/top/summary?cate=realtimehot' response = requests.get(url, headers=headers).text # 获取响应,并转化成文本格式 html = etree.HTML(response) # 解析响应内容 hot_data = html.xpath('//script[@id="pl_top_realtimehot"]//text()')[0] # 提取出json数据所在的文本内容 hot_data = re.search(r'\{.*\}', hot_data).group() # 通过正则表达式将json字符串从文本中匹配出来 hot_dict = json.loads(hot_data) # 将json字符串转化成python字典格式 dataList = hot_dict['data'] # 提取出想要的信息,即微博热搜列表list for data in dataList: # 遍历list中的信息,并将其拆分成各自的字典key-value形式 rankNum = data['rank'] # 排名 titleName = data['title'] # 标题名称 titleUrl= data['scheme'] # 链接地址url print('{}、{} {}'.format(rankNum, titleName, titleUrl)) ## 这里你也可以将微博热搜信息进行存储,如写入txt文件中。。。。。。。。。。 ## 例如:with open('weiboHotData', 'w') as f: f .write('{}、{} {}'.format(rankNum, titleName, titleUrl)) f .write('\n') ## 有兴趣的朋友也可以尝试一下~## ## 有问题随时沟通~## ## 加上注释之后代码如下所示~~## if __name__ == "__main__": get_weibo_hot()

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 公租房申请条件 下一篇 圣采儿裸体