簡體   English   中英

Python:有沒有辦法獲取由Javascript動態創建的HTML?

[英]Python: Is there a way to get HTML that was dynamically created by Javascript?

據我所知,LyricWikia就是這種情況。 可以從瀏覽器訪問歌詞( 示例 ),但是無法在源代碼中找到(可以在大多數瀏覽器中使用CTRL + U打開)或使用Python讀取網站內容:

from urllib.request import urlopen

URL = 'http://lyrics.wikia.com/Billy_Joel:Piano_Man'

r = urlopen(URL).read().decode('utf-8')

和測試:

>>> 'Now John at the bar is a friend of mine' in r
False
>>> 'John' in r
False

但是,當您選擇並查看顯示歌詞的框的源代碼時,您會看到有: <div class="lyricbox">[...]</div>

有沒有辦法用Python獲取該div -element的內容?

您可以嘗試Ghost.py ,它實際上是Python的Phantom.js。 它嵌入了WebKit,因此能夠在頁面上執行JavaScript,就像您已手動導航到該頁面一樣。 然后,它使您可以訪問DOM結構。

暫無
暫無

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

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