爬虫-微博手机端链接转为PC端链接

先随便找一条手机端的链接

https://m.weibo.cn/detail/4451977893666437
在这里插入图片描述

同时找到对应的PC端链接

https://www.weibo.com/6343916471/IlObjfnO5?type=comment#_rnd1576943067477
在这里插入图片描述

然后猜测 从手机端链接转向PC端,手机端一般会有相关参数,查看到PC端链接的关键字6343916471和IlObjfnO5,在手机端的网页源代码也能找到相关参数

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191221234756357.png

试验下拼接链接

https://www.weibo.com/6343916471/IlObjfnO5
可以发现,就这样的链接就可以了

最后试验结果

  • 去访问手机端详情页获取相关参数
  • 通过关键参数拼接-得到PC端链接
  • 最后也发现访问手机端链接不需要cookie,所以链接可以拼接得很成功
  • 但是访问web端的链接需要带上cookie才行
  • 尝试写代码

代码

import re
import requests


def mweb_convert_to_pc_url():
    mweb_url = "https://m.weibo.cn/detail/4451977893666437"
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0'}
    mweb = requests.get(mweb_url, headers=headers)
    pc_id = re.search('"id": (\d+),', mweb.text).group(1)
    pc_bid = re.search('"bid": "(.*?)",', mweb.text).group(1)
    pc_url = f"https://www.weibo.com/{pc_id}/{pc_bid}"
    print(pc_id, pc_bid, pc_url)

结果:6343916471 IlObjfnO5 https://www.weibo.com/6343916471/IlObjfnO5


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值