m.微博各种接口分析

1.微博用户搜索接口。

https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D3%26q%3D乐队的夏天%26t%3D0
在这里插入图片描述
一般我们搜索目标的知名度是靠前的,这里先暂时以第一个为主。

user_name = weibo_json['data']['cards'][1]['card_group']['user']['screen_name']

这里是可以获取到用户名,头像,主页url,粉丝数量,关注数量的。
在这里插入图片描述
这里用户的类型(蓝v。橙v。超v。无v)暂时不能根据数据判断出来,不过我看了50个左右,普通用户的mbtype 和 mbrank 基本都是 0 ,verified_type 基本是 -1 ,概率大约有 90%。 并不能作为判断依据。

在这里插入图片描述
在这里插入图片描述

另外,该json数据可以获取用户的 id 。我们可以通过该id来直接访问主页。

 https://m.weibo.cn/u/{id}?

2.用户主页信息接口

进入用户主页之后,发现了一个接口。

https://m.weibo.cn/api/container/getIndex?uid=5885171329&luicode=10000011&lfid=100103type%3D3%26q%3D%E4%B9%90%E9%98%9F%E7%9A%84%E5%A4%8F%E5%A4%A9%26t%3D0&type=uid&value=5885171329&containerid=1005055885171329
在这里插入图片描述
在这里插入图片描述
这个接口有一个 containerid 需要我们去找一下。(下面开始找)

3.用户微博数据接口

https://m.weibo.cn/api/container/getIndex?uid=5885171329&luicode=10000011&lfid=100103type%3D3%26q%3D%E4%B9%90%E9%98%9F%E7%9A%84%E5%A4%8F%E5%A4%A9%26t%3D0&type=uid&value=5885171329&containerid=1076035885171329在这里插入图片描述
在主页还有一个接口可以找到。发现里面是用户的文章信息。
他也有一个 containerid

我们搜索下这个 containerid在第2个用户主页信息接口中

在这里插入图片描述
可以发现有挺多的 containerid

我们尝试来更换 containerid ,看是否有新的发现。

4.用户影响力接口

把 containerid 更换为 上图 主页的containerid 。

https://m.weibo.cn/api/container/getIndex?uid=5885171329&luicode=10000011&lfid=100103type%3D3%26q%3D%E4%B9%90%E9%98%9F%E7%9A%84%E5%A4%8F%E5%A4%A9%26t%3D0&type=uid&value=5885171329&containerid=2302835885171329
在这里插入图片描述
可以发现:这里的数据对应的是微博用户影响力。
在这里插入图片描述

5.用户视频数据接口

同理,切换为视频的id。
在这里插入图片描述
https://m.weibo.cn/api/container/getIndex?uid=5885171329&luicode=10000011&lfid=100103type%3D3%26q%3D%E4%B9%90%E9%98%9F%E7%9A%84%E5%A4%8F%E5%A4%A9%26t%3D0&type=uid&value=5885171329&containerid=2315675984601062
在这里插入图片描述

6.用户文章数据接口

同理。 微博containerid:1076035984601062
在这里插入图片描述
https://m.weibo.cn/api/container/getIndex?uid=5885171329&luicode=10000011&lfid=100103type%3D3%26q%3D%E4%B9%90%E9%98%9F%E7%9A%84%E5%A4%8F%E5%A4%A9%26t%3D0&type=uid&value=5885171329&containerid=1076035984601062

在这里插入图片描述

7. So

可以理一下逻辑。

我们首先是通过搜索接口 找到用户的id。

然后如何通过id来找到 用户主页api的containerid 就不告诉你了。(其实就是拼接的)

然后需要通过用户主页的api ,来获取他里面包含的各种 containerid
文章api,视频api,影响力api,图片api。等等

8. 新增: 微博话题api

#通过节目名,或者明星名,来获取话题列表。
话题列表:
huati_list_api = ‘https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D38%26q%3D向往的生活%26t%3D0&page_type=searchall’

#获取相关话题的名字。然后通过下面api
话题详情:
huati_detail_api=‘https://m.weibo.cn/api/container/getIndex?containerid=231522type%3D1%26t%3D10%26q%3D%23向往的生活%23&luicode=10000011&lfid=100103type%3D38%26q%3D向往的生活%26t%3D0&page_type=searchall&page=1’

9. 微博指数api

需要先请求搜索接口, 获取wid
search_word_api = ‘https://data.weibo.com/index/ajax/newindex/searchword’
然后用wid请求数据接口。
参数自定。
get_data_url = ‘https://data.weibo.com/index/ajax/newindex/getchartdata’

10.微博话题数据总览

详情链接:
https://m.s.weibo.com/topic/detail?q=%23乐队的夏天%23
更改相应名字即可看到对应话题的数据。
在这里插入图片描述

  • 15
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
### 回答1: 要爬取微博账号的UID,你可以使用以下方法: 1. 登录微博开发者平台(https://open.weibo.com/)并创建一个应用程序。在创建应用程序后,你将获得一个App Key和一个App Secret。 2. 安装Python的Requests和BeautifulSoup库。 3. 使用以下代码向微博API发送请求,获取用户的UID: ```python import requests from bs4 import BeautifulSoup #设置请求头 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"} #设置微博账号的URL url = "https://weibo.com/xxx" #发送请求 response = requests.get(url, headers=headers) #获取网页源码 soup = BeautifulSoup(response.text, "html.parser") #查找UID uid = soup.find("a", class_="name", href=True)["href"].split("/")[-1] print(uid) ``` 其中,将xxx替换为你要爬取的微博账号的用户名即可。UID将会被打印出来。 ### 回答2: 要使用Python爬取微博账号的UID,可以通过以下步骤来实现: 1. 导入相关的库:首先,需要导入requests、BeautifulSoup等库来发送网络请求和解析网页内容。 2. 发送网络请求:使用requests库发送GET请求,将微博账号的首页URL作为参数传入。 3. 解析网页内容:将请求返回的内容传给BeautifulSoup库进行解析,获取网页中的数据。 4. 定位UID位置:根据微博账号首页的HTML结构,使用BeautifulSoup库的功能,定位到包含UID的元素位置。通常,UID在HTML中的一个<span>标签内,可以根据<span>标签的class属性或其他特征来定位。 5. 提取UID:从定位到的元素中提取UID的值,可以使用BeautifulSoup库提供的提取文本的方法。 6. 输出UID值:将提取到的UID值打印输出,或者进行保存等操作。 需要注意的是,爬取微博账号UID的行为可能违反微博的使用协议,需要遵守相关法律法规和网站的规定。为了避免被封禁或其他风险,应该谨慎使用爬虫程序,并遵守网站的使用规则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

考古学家lx(李玺)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值