Wwsshh_147 2022-09-12 20:36 采纳率: 100%
浏览 24
已结题

python用requests库二次重定向失败,不再重定向,状态码200没有302或301

问题:Python爬取某网站图片,源代码里的url通过两次重定向到图片最终位置,requests.get(url)不能获得图片的最后位置
问题相关代码:

#网页源代码位置:view-source:https://www.caominhd.com/play/61601-0-0.html
url='https://bbcc.8ximg.com/?url=V48QM5z60wYeaLQvZuNgfWAMqu/gIqnrwiZttBF/hkyYrkabgZD3XGY6DlF7wkNF7jVwKnLRzl88Sq9AByeUZw&ly=A9tOYs2qggYCabA2dLdiJnoS/ezpbPa0nDE86kVp%27
re=requests.get(url)
print(re.url,
re.headers,
re.status_code,
re.history)
new_url=re.url
r=requests.get(new_url)
print(r.url,
r.headers,
r.status_code,
r.history)

运行结果及报错内容:

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\python.exe D:/Python程序制作/美图包/自定义出图程序.py
https://bbcc.8ximg.com/api/img.php?url=V48QM5z60wYeaLQvZuNgfWAMqu/gIqnrwiZttBF/hkyYrkabgZD3XGY6DlF7wkNF7jVwKnLRzl88Sq9AByeUZw
{'Server': 'nginx', 'Date': 'Mon, 12 Sep 2022 12:19:51 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Accept-Encoding', 'Strict-Transport-Security': 'max-age=31536000', 'Access-Control-Allow-Origin': '', 'Content-Encoding': 'gzip'}
200
[<Response [302]>]
https://bbcc.8ximg.com/api/img.php?url=V48QM5z60wYeaLQvZuNgfWAMqu/gIqnrwiZttBF/hkyYrkabgZD3XGY6DlF7wkNF7jVwKnLRzl88Sq9AByeUZw
{'Server': 'nginx', 'Date': 'Mon, 12 Sep 2022 12:19:51 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Vary': 'Accept-Encoding', 'Strict-Transport-Security': 'max-age=31536000', 'Access-Control-Allow-Origin': '
', 'Content-Encoding': 'gzip'}
200
[]

进程已结束,退出代码0

我的解答思路和尝试过的方法:

requests.get()是默认允许重定向的
在源代码里找到图片的原始url,检查后发现经过连续两次重定向才到达图片的最后地址,我用requests库的r=requests.get(url) 再 print(r.url)却只得到第一次重定向后的新url,没有进行第二次重定向
对新url单独请求了一次,也没用,状态码是200不是302或301

我想能够弄到图片的最后地址,该代码想得到的最后地址为:’https://ss2.8ximg.com/img/pic/4945/1.jpg‘
  • 写回答

3条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 9月24日
      • 已采纳回答 9月16日
      • 创建了问题 9月12日

      悬赏问题

      • ¥15 和您碰到了同一个问题
      • ¥15 如何在微信支付V3PHP版请求中添加header?
      • ¥15 在数字信号处理中用MATLAB显示波形。
      • ¥15 keil MDK软件进行仿真调试的局限
      • ¥15 关于gateway产生临时文件夹的问题
      • ¥15 Java Broken Pipe以及OOM
      • ¥20 请问有没有RTL8211FS的参考原理图
      • ¥50 esp32的platfromio工程添加文件就会编译失败
      • ¥15 linux下运行VASP报错
      • ¥15 python里面查找赋值,如何可以在剩余未空值的行里面进行进一步的筛选呢?