get - Requests.get 不适用于某些 URL
问题描述
我正在尝试使用 Python 的 Request 库发出 Get 请求。我可以很好地运行快速入门示例,但是当我更改 URL 时,代码很长时间没有返回,最后返回了一些错误,这些错误引用了请求库代码中的深层代码。我一直在尝试用谷歌搜索,但这超出了我初学者的理解范围。传递给 requests.get() 的 URL 的语法是否有一些限制?以下是 URL 无效的代码:
import requests
URL = 'https://www.landsofamerica.com/United-States/lakefront-property/'
r = requests.get(URL)
print(r.text)
"""
NOTE: This code taken from https://requests.readthedocs.io/en/master/user/quickstart/#make-a-request
The example code in the docs *does* execute correctly with this example URL:
URL = 'https://api.github.com/events'
"""
返回的错误很长,我不知道如何找到“最相关的部分”来寻求帮助,所以我认为我不应该将所有这些都粘贴在这里?谢谢。
解决方案
该站点可能正在阻止抓取请求。
使用 headers 集合来模拟浏览器。
import requests
URL = 'https://www.landsofamerica.com/United-States/lakefront-property'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
r = requests.get(URL, headers=headers)
print(r.text)
推荐阅读
- c# - 它可以做得更干净更短吗?
- c# - 根据关键字获取列表元素的值
- typescript - 从 TypeScript 中的对象属性继承通用值
- angular - 如何在 Angular 7 中订阅本地存储
- c# - C# async/await 读取 DbDataReader 的效率(或滥用)
- python - 当我只传递没有 x、y 数据参数的整个数据帧时,箱形图显示什么结果?
- php - 我想将month()函数返回值为'jan',feb等
- python - numpy.hstack() 不能在 jitter 函数中工作
- ionic2 - 想在 ionic Angular 应用内浏览器中打开 SharePoint 在线页面,可以吗?
- php - 试图获得非对象 laravel 的属性“价值”