python urllib 随机出现 HTTP 错误 405:
python urllib randomly appearing HTTP Error 405:
知识渊博的人您好,
我正在编写代码以从特定网站的某些子页面获取一些信息。
以下三行代码适用于 10 个案例中的大约 8 个(同时使用同样已发布的 link/URL)。但在十分之二的情况下,我收到错误 'HTTPError: HTTP Error 405: '.
我不知道为什么网页有时拒绝我的请求,有时不拒绝。
更重要的是:我如何重建此代码以确保在没有错误消息的情况下获得答案? (即使需要更多时间)
import urllib
link = 'https://www.immobilienscout24.de/expose/128433102?utm_medium=email&utm_source=system&utm_campaign=fulfillment_update&savedSearchId=116004747&immoTypeId=2&PID=113689187&referrer=ff_listing&utm_content=fulfillment_item#/'
f = urllib.request.urlopen(link)
HTTP 错误 405
405 是 不允许的方法。很可能您在预期 POST
时发送 GET
请求,或者在预期 GET
时发送 POST
请求。
在没有错误消息的情况下确定得到答案? (即使需要更多时间)
您应该首先询问资源它支持什么方法。为此 OPTIONS 使用 HTTP 动词。收到回复后,您可以检查 headers(在 Allow
下)允许哪些方法并发送正确的请求。
使用urllib.request
发送OPTIONS
的简单示例
import urllib.request
req_obj = urllib.request.Request("https://www.example.com",method="OPTIONS")
response = urllib.request.urlopen(req_obj)
print(response.headers['Allow'])
输出
OPTIONS, GET, HEAD, POST
同时我自己解决了:
- “尝试”中的请求
- 一个我为每个url写的字典,不管它是否有效
- 一个 while 循环,我在其中为 url 重复它,它在以前的时间里不起作用。
- 在没有 url 没有成功抓取网络后休息。
- 在此期间,我以我需要的方式转换数据。
可能不是什么特别的战术。
今天循环了9轮,17个链接全部被抓取。
我仍然很好奇失败的原因和直接的解决方案。但是我的解决方案毫无问题地得到了我想要的数据。
知识渊博的人您好,
我正在编写代码以从特定网站的某些子页面获取一些信息。
以下三行代码适用于 10 个案例中的大约 8 个(同时使用同样已发布的 link/URL)。但在十分之二的情况下,我收到错误 'HTTPError: HTTP Error 405: '.
我不知道为什么网页有时拒绝我的请求,有时不拒绝。 更重要的是:我如何重建此代码以确保在没有错误消息的情况下获得答案? (即使需要更多时间)
import urllib
link = 'https://www.immobilienscout24.de/expose/128433102?utm_medium=email&utm_source=system&utm_campaign=fulfillment_update&savedSearchId=116004747&immoTypeId=2&PID=113689187&referrer=ff_listing&utm_content=fulfillment_item#/'
f = urllib.request.urlopen(link)
HTTP 错误 405
405 是 不允许的方法。很可能您在预期 POST
时发送 GET
请求,或者在预期 GET
时发送 POST
请求。
在没有错误消息的情况下确定得到答案? (即使需要更多时间)
您应该首先询问资源它支持什么方法。为此 OPTIONS 使用 HTTP 动词。收到回复后,您可以检查 headers(在 Allow
下)允许哪些方法并发送正确的请求。
使用urllib.request
OPTIONS
的简单示例
import urllib.request
req_obj = urllib.request.Request("https://www.example.com",method="OPTIONS")
response = urllib.request.urlopen(req_obj)
print(response.headers['Allow'])
输出
OPTIONS, GET, HEAD, POST
同时我自己解决了:
- “尝试”中的请求
- 一个我为每个url写的字典,不管它是否有效
- 一个 while 循环,我在其中为 url 重复它,它在以前的时间里不起作用。
- 在没有 url 没有成功抓取网络后休息。
- 在此期间,我以我需要的方式转换数据。
可能不是什么特别的战术。
今天循环了9轮,17个链接全部被抓取。
我仍然很好奇失败的原因和直接的解决方案。但是我的解决方案毫无问题地得到了我想要的数据。