簡體   English   中英

美麗湯輸出錯誤

[英]Errors with Beautiful Soup output

我正在嘗試使用beautifulsoupgamepot的網頁上抓取數據。 但是,結果與我從page source viewer獲得的結果非常不同。 首先,會產生很多errors 例如,我們有

r = requests.get(link) 

soup = bs4.BeautifulSoup(r.text)

然而soup.title

<title>404: Not Found - GameSpot</title>

我實際上要抓取的數據甚至沒有出現。 是因為網頁在旁邊包含javascript嗎? 如果是這樣,我該如何解決?

您僅向服務器發送HTTP請求。 您需要處理Javascript才能獲取內容。

像Ghost這樣的具有Javascript支持的無頭瀏覽器將是一個不錯的選擇。

from ghost import Ghost

ghost = Ghost()

ghost.open(link)
page, resources = ghost.evaluate('document.documentElement.innerHTML;')
soup = BeautifulSoup(page)

.evaluate('document.documentElement.innerHTML')將顯示動態生成的內容,而不是查看源代碼時看到的靜態內容。

您的連接錯誤是:socket.error:[Errno 54]由對等方重置連接第一次連接到http://www.gamespot.com時,您必須捕獲cookie並將其用於響應頭中的其他頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM