python 3.X urllib.request http 错误 416

python 3.X urllib.request http error 416

我想从网站获取信息。这是它的简单代码。

import urllib.request
response = urllib.request.urlopen('http://www.lamudi.com.ph/buy/?page=1&size=30')
html = response.read()

我得到一个 urllib.error.HTTPError: HTTP Error 416: Requested Range Not Satisfiable

这个特定的网站不希望机器人阅读内容。 urllib.request.urlopen 的问题在于它会在 4xx 或 5xx return 代码上引发异常,使得很难看到来自服务器的实际响应。更好的图书馆是 requests

如果您收到回复,您会看到:

As you were browsing http://.... something about your browser made us think you were a bot.

如果您可以使用他们的信息,您应该与他们核实,但如果这是供您个人使用,您可以尝试将用户代理更改为您的浏览器使用的用户代理。