【问题标题】:Python urllib2 response 404 error but url can be openedPython urllib2 响应 404 错误但 url 可以打开
【发布时间】:2015-09-01 20:16:32
【问题描述】:

我在使用 Python Requests 或 urllib2 打开 url 时遇到了一种情况。我收到了 404“找不到页面”的回复。例如,url = 'https://www.facebook.com/mojombo'。但是,我可以将这些网址复制并粘贴到浏览器中并访问它们。为什么会这样?

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

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

【问题讨论】:

  • 很可能,您需要登录 Facebook 才能查看该页面。我没有登录,我也得到 404。

标签: python beautifulsoup http-status-code-404 urllib2 python-requests


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 2017-11-01
    • 1970-01-01
    • 2012-04-24
    • 2012-12-05
    • 2017-04-17
    • 2013-06-22
    • 1970-01-01
    • 2012-08-18
    相关资源
    最近更新 更多