如何解决尝试通过网络抓取API时的响应代码418
我正在尝试从API https://www.techinasia.com/wp-json/techinasia/2.0/posts获取数据。 但我得到的HTTP响应为418。 解决该问题的可能方法是什么?
url ='https://www.techinasia.com/wp-json/techinasia/2.0/posts'
response = requests.get(url)
print(type(response),response)```
Output:
<class 'requests.models.Response'> <Response [418]>
解决方法
通过您选择的用户代理即可获得响应。请求会调用HTTP get请求,但有时服务器需要使用用户代理,部分/完整的标头,参数或cookie来对请求进行身份验证。
在这种情况下,您只需要一个用户代理,实际上您甚至不需要传递有效的用户代理。
代码示例
import requests
headers = {
'User-Agent': 'M',}
requests.get('https://www.techinasia.com/wp-json/techinasia/2.0/posts',headers=headers)
输出
<Response [200]>
您必须在HTTP请求中指定标头(请求的get方法),并为此提供一个参数headers
。 headers参数应包含一个python字典。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。