1

我遇到了使用Python請求或urllib2打開網址的情況。我有404'頁面沒有找到'的迴應。例如,url ='https://www.facebook.com/mojombo'。不過,我可以將這些網址複製並粘貼到瀏覽器中並訪問它們。爲什麼會發生?Python urllib2響應404錯誤,但可以打開url

我需要從這些網頁的html源代碼中獲取一些內容。由於我無法使用Requests或urllib2打開這些網址,因此我無法使用BeautifulSoup從HTML源代碼中提取元素。有沒有辦法使用Python獲取這些頁面的源代碼並從中提取內容?

雖然這是一個普遍的問題,但我仍然需要一些工作代碼來解決它。謝謝!

+1

很可能,您需要登錄Facebook才能查看頁面。我沒有登錄,我也得到404。 – Ken

回答

1

看起來您的瀏覽器正在使用cookie來登錄您。嘗試在私人或隱身標籤中打開該網址,您可能無法訪問該網址。
但是,如果您使用請求,您可以傳遞適當的登錄信息作爲值的字典。您需要檢查表單信息以查看字段是什麼,但請求也可以處理。 正常格式將是:

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

與根據需要加入更多或更少的字段。