首页 > 解决方案 > 在我的代码中,我的获取 url 在 python 中有错误

问题描述

使用请求获取时出现 Python 错误

大家好,我的代码中有这个

from bs4 import BeautifulSoup
r = requests.get(url)

我得到了这个

<Response [403]>

什么可能是解决方案

网址是“https://www3.animeflv.net/anime/sailor-moon”

顺便说一句,标题很奇怪,因为我不知道为什么堆栈溢出不允许我按我想表达的方式:(

标签: pythonrequest

解决方案


对于您的具体情况,您可以通过在请求标头中伪造您的用户代理来克服这个问题。

import requests

url = 'https://www3.animeflv.net/anime/sailor-moon'
headers = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'}

res = requests.get(url, headers=headers)

print(res.status_code)

<Response [200]>

一些网站试图阻止使用 python 请求库发出的请求,默认情况下,当您从 python 脚本发出请求时,您的 User-Agent 类似于 python3/requests 但如果您通过操纵标头来伪造它,您可以轻松绕过它。看看这个库https://pypi.org/project/fake-useragent/来生成假的用户代理字符串。


推荐阅读