我指着網上的新聞報道約10.000的URL列表不同的網站設置。我寫了一些代碼來使用Requests-library(Python 3.5)來刮掉這些新聞文章的html內容。目標是使用可讀性模塊檢索文章內容並對其進行進一步分析。這在大部分時間都適用。但是,所有網站都是荷蘭語,因此受歐盟政策的約束,他們必須要求同意使用cookies。其中一些例如http://telegraaf.nl通過加載一個單獨的頁面來完成,用戶必須點擊一個按鈕。在這種情況下,我可以通過傳遞一個cookie的頭部得到正常的文章內容:找出Cookie在使用Python
import requests
user_agent = 'Mozilla/5.0'
url = 'http://www.telegraaf.nl/dft/geld/werk-inkomen/27740808/__Vechten_om_werk_in_noorden__.html'
cookies_telegraaf = {'TMGCOOKIE': '{%22version%22:%22t3%22}'}
html = requests.get(url, headers={"User-Agent": user_agent}, cookies=cookies_telegraaf)
print(html.content)
這將輸出HTML的內容,我需要。問題是,每個網站都需要一個不同的cookie。所以我的問題是:有沒有辦法找出每個網站的標題中傳遞哪些特定的Cookie,而無需在瀏覽器中手動檢查?
感謝您的幫助。
感謝您的信息。沒有cookies或沒有單獨頁面要求同意的網站可以正常工作,所以我可以處理這些問題。悲傷地訪問cookie的方法不起作用,看起來:我必須積極設置一個特定的cookie,意味着我接受來自網頁的cookie(我不會在這裏進行諷刺)。有時它可能是'accept_cookies'設置爲'1',另一個網站使用不同的格式。我目前知道的唯一方法是單擊「接受cookies」按鈕,然後檢查我的瀏覽器設置以查看設置了新的cookie。 – Kevin
@Kevin如果這是你可能會需要像'selenium'庫來模擬瀏覽器的情況。有沒有在頁面中,也許像「輸入型=‘提交’」或類似的東西的接受按鈕的常見元素,如果是的話,你可以嘗試將它們查明硒自動點擊它們和接收cookies? –
謝謝,我會試用Selenium並報告結果。可悲的是,有些人使用按鈕,而其他人只是使用超鏈接。但是通常頁面上只有一個或很少,所以有一點額外的編碼可以完成這項工作。當我知道更多時,我會讓你知道。 – Kevin