python - 在我的代码中,我的获取 url 在 python 中有错误
问题描述
使用请求获取时出现 Python 错误
大家好,我的代码中有这个
from bs4 import BeautifulSoup
r = requests.get(url)
我得到了这个
<Response [403]>
什么可能是解决方案
网址是“https://www3.animeflv.net/anime/sailor-moon”
顺便说一句,标题很奇怪,因为我不知道为什么堆栈溢出不允许我按我想表达的方式:(
解决方案
对于您的具体情况,您可以通过在请求标头中伪造您的用户代理来克服这个问题。
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/来生成假的用户代理字符串。
推荐阅读
- xslt-2.0 - 动态替换给定数据中的子字符串(XML 到固定长度)
- django - 我如何在一个页面中显示用户帖子,同时用户可以在他们的页面中看到其他帖子?喜欢 Facebook 的工作方式吗?
- php - 从数据库中获取数据并匹配静态数组
- php - Laravel:仅为相关模型加载嵌套关系
- php - 如何获取 HTML5 表单输入默认值
- typescript - 打字稿不编译外部类 - 量角器测试
- python - 如何从列内指定的列表创建子列
- excel - 如何使用 VBA 将特定文本插入到现有公式中?
- c++ - 如何修复“条件中的变量声明必须具有初始化程序”
- python - 按具有最后日期的唯一名称和状态分组