Pythonurllib2响应404错误但是url可以打开

Python urllib2 response 404 error but url can be opened

我在使用 Python Requests 或 urllib2 打开 urls 时遇到过这样的情况。我收到了 404 'page not found' 条回复。例如,url = 'https://www.facebook.com/mojombo'。但是,我可以在浏览器中复制并粘贴那些 url 并访问它们。为什么会这样?

我需要从那些页面的 html 源代码中获取一些内容。由于我无法使用 Requests 或 urllib2 打开那些 url,因此我无法使用 BeautifulSoup 从 html 源代码中提取元素。有没有办法获取这些页面的源代码并利用 Python 从中提取内容?

虽然这是一个一般性问题,但我仍然需要一些工作代码来解决它。谢谢!

您的浏览器似乎正在使用 cookie 来让您登录。请尝试在私人或隐身选项卡中打开 url,您可能无法访问它。
但是,如果您使用请求,则可以将适当的登录信息作为值字典传递。您需要检查表单信息以查看字段是什么,但 Requests 也可以处理。 正常格式为:

payload = {
   'username': 'your username',
   'password': 'your password'
   }
p = requests.post(myurl, data=payload)

根据需要添加或多或少的字段。