吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1879|回复: 17
收起左侧

[Python 原创] 新手写的简单的python获取微博热搜的脚本

[复制链接]
Anome 发表于 2023-4-25 10:56

新人第一次发帖,怪紧张的。关注52pj很久了,哈哈,以前都是在这里找大家分享的工具,前段时间学了爬虫,但是一直觉得比较简单,就没发,突然心血来潮想分享下自己写的获取微博热搜的脚本,本来是因为找微博热搜的RSS找不到,就打算自己爬一下,后来还得自己手动运行,就没怎么用过。大家如果有微博热搜的RSS分享一下哈。感谢。

使用了csv包和requests包,填写自己的cookies后直接运行就行。
获取到的文件会保存在同目录下的'weibo_hot.csv'文件里,csv格式保存的。
获取的结果有4列,分别是id(获取时的热搜排名),note(热搜标题),category(类型),raw_hot(热度),url(链接)
上传的附件后缀是txt,需要改成py才能用

import csv
import requests

url = "https://weibo.com/ajax/statuses/hot_band"
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62',
    'Referer': 'https://weibo.com/newlogin?tabtype=search&gid=&openLoginLayer=1&url=https://s.weibo.com/realtime?q=%E4%B8%BAi%E5%81%9Ae&rd=realtime&tw=realtime&Refer=weibo_realtime',
    'Cookie': ''
} # 在单引号里填写你自己的Cookie就可以了
response = requests.get(url, headers=headers)
response = response.json()["data"]["band_list"]
hot = []
count = 0
for dict1 in response:
    count += 1
    if 'note' in dict1:
        note = dict1['note']
    else:
        note = 'Unknown'
    if 'category' in dict1:
        category = dict1['category']
    else:
        category = 'Unknown'
    if 'raw_hot' in dict1:
        raw_hot = dict1['raw_hot']
    else:
        raw_hot = 'Unknown'
    hot_url = f'https://s.weibo.com/weibo?q={note}&Refer=index'
    lst = [count, note, category, raw_hot, hot_url]
    hot.append(lst)

with open('weibo_hot.csv', 'w', newline='', encoding="utf-8") as file:
    writer = csv.writer(file)
    writer.writerow(["id", "note", "category", "raw_hot", "url"])
    # 遍历列表中的每个元素,写入 CSV 文件的单独一行中
    for item in hot:
        writer.writerow(item, )

weibo_hot.txt

1.52 KB, 下载次数: 24, 下载积分: 吾爱币 -1 CB

源码,需要将后缀名改成py使用

免费评分

参与人数 3吾爱币 +5 热心值 +3 收起 理由
曾经的歌42 + 1 + 1 加油 我也要学了
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
echoaku + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| Anome 发表于 2023-5-12 14:51
曾经的歌42 发表于 2023-5-12 14:18
request.get(url)   括号里面也要加headers么。。

不用了的,response = requests.get(url, headers=headers)
代码里已经写上了,只需要在这一行的前面哪个,headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62',
    'Referer': 'https://weibo.com/newlogin?tabtype=search&gid=&openLoginLayer=1&url=https://s.weibo.com/realtime?q=%E4%B8%BAi%E5%81%9Ae&rd=realtime&tw=realtime&Refer=weibo_realtime',
    'Cookie': ''
}
在最后面这个Cookie的单引号里面填上自己cookie就好了。

如果是自己写的爬虫,先不填试试能不能爬到结果,不能的话就需要添加header了,就想我这个脚本里的一样,就需要在request.get(url,headers)都添加了
yinfu123 发表于 2023-4-26 14:45
_T_WM=86637299753; XSRF-TOKEN=1b2636; WEIBOCN_FROM=1110005031; MLOGIN=1; mweibo_short_token=9b71794a9f; SCF=AnGo8PBecuWfX5jnDKrHmoWpUriVG1zPOWqhoqgWjhM16bIkOhuUTwAkF8EczckE1dG_aA4r9OFhZEDzGwxpr8g.; SUB=_2A25JTLXkDeRhGeBL61YT8SjKyzSIHXVqztusrDV6PUJbktCOLVDwkW1NR0glr3wtry3LOyviZYUiePOqoYPuAWkG; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WFY7vUVI4N0vgZfG3XI7U215JpX5K-hUgL.FoqfehBEeKqcehn2dJLoI0YLxKqL1K.LB-qLxKnLBKML1hzLxK.LBo2LB.eLxKqLBo2LBK5LxKnLB.qL1hMLxKqLB.zLBKBLxK-L1K.LBKnt; SSOLoginState=1682490805; ALF=1685082805; M_WEIBOCN_PARAMS=luicode%3D20000174%26uicode%3D20000174
cookie是类似上面这个吗?填进去没反应
 楼主| Anome 发表于 2023-4-26 17:01
yinfu123 发表于 2023-4-26 14:45
_T_WM=86637299753; XSRF-TOKEN=1b2636; WEIBOCN_FROM=1110005031; MLOGIN=1; mweibo_short_token=9b71794a ...

我是这样的,进入微博后,点”热搜榜“这个选项,然后F12进入开发者模式,重新刷新一下,上面那栏选择Network选项,然后找到hot_band这个,选择requests Headers下面的cookies直接右键单击,然后复制value。注意不是上面的response Headers。你看图片中,标出来了
uTools_1682499503980.png
 楼主| Anome 发表于 2023-4-26 17:06
yinfu123 发表于 2023-4-26 14:45
_T_WM=86637299753; XSRF-TOKEN=1b2636; WEIBOCN_FROM=1110005031; MLOGIN=1; mweibo_short_token=9b71794a ...

你填了后运行了会报错吗?运行结束后不会有提示的,会直接在同目录生成一个文件,里面就是热搜
yinfu123 发表于 2023-4-26 18:14
Anome 发表于 2023-4-26 17:06
你填了后运行了会报错吗?运行结束后不会有提示的,会直接在同目录生成一个文件,里面就是热搜

明天再试一下,谢谢
 楼主| Anome 发表于 2023-4-26 18:42
yinfu123 发表于 2023-4-26 18:14
明天再试一下,谢谢

嗯嗯,没事的
gly198752 发表于 2023-4-27 08:50
厉害厉害 值得学习下
lingwushexi 发表于 2023-4-27 09:12
厉害,学习下
amtf0614 发表于 2023-4-27 11:20
刚去运行了下 ,直接粘贴运行 生产了csv文件
yty0123 发表于 2023-4-27 11:36
我要开始学习了,嘎嘎嘎
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表