Python urllib2响应404错误但url可以打开

时间:2015-06-16 20:14:51

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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