微博个人页面重定向

微博每个用户有一个专属该用户的uid
通过该uid可访问该用户的主页
在主页拿到需要的数据
但微博对用户主页的访问,部分做了重定向处理,导致无法拿到数据
下面解决该重定向问题
import re
import time
import requests


def weibo(id):
    url = "https://weibo.com/u/{}"
    headers = {
        'Host': 'weibo.com',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36',
        'Cookie': 'SUB=_2AkMoU3Sjf8NxqwJRmPkTz23maY12zQrEieKeD4V4JRMxHRl-yT9kqmottRB6A9NaTL2vPrAfERq6ZG2p_CMqeTKNzLVY',
    }
    resp = requests.get(url.format(id), headers=headers, allow_redirects=False)
    # 未重定向
    if 'File not found' not in resp.text and len(resp.text) > 500:
        content = resp.text
    # 重定向时,返回的消息体是 File not found
    else:
        new_url = "https://weibo.com" + resp.headers["Location"]
        resp = requests.get(new_url, headers=headers)
        content = resp.text
    time.sleep(0.5)
    fans = re.search('<strong.*?>(\d{5,20})<.*?strong>', content, re.S).group(1).strip()
    fans = int(fans)
    print(fans)
    return fans


if __name__ == '__main__':
    weibo('1827683445')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值