如何從html頁面提取javascript,css和img標籤的鏈接?我是否需要使用正則表達式,或者已經有一些用於html解析的輕量級庫?如何從html頁面提取javascript,css和img標籤的鏈接?
2
A
回答
0
HTML不是正則表達式可解析的語言。所以不要嘗試。它將休息。
我通常使用的是Beautiful Soup,它是一個解析器庫,特別用於從可能無效的標記中收集信息,就像您將在其中找到的東西一樣。
1
BeautifulSoup將做的伎倆。
import urllib
from BeautifulSoup import BeautifulSoup
sock = urllib.urlopen("http://stackoverflow.com")
soup = BeautifulSoup(sock.read())
sock.close()
img = soup.findAll("img")
script = soup.findAll("script", {"type" : "text/javascript"})
css = soup.findAll("link", {"rel" : "stylesheet"})
2
HTML5Lib與lxml相結合是我喜歡使用HTML文檔中的提取數據。它以類似於現代瀏覽器的方式從錯誤中恢復,所以它使得破壞的html更易於使用。
如果你真的想運行 JS在網頁中(說的鏈接是通過函數計算)的代碼,你應該考慮看WebKit和jswebkit包,這將讓你在無頭WebKit的窗口中運行的JavaScript可以讓你的動態生成的內容供你的Python解析器檢查。
雖然在運行webkit瀏覽器時期望內存使用率,但通過webkit在python中運行js確實不難。
相關問題
- 1. 如何從HTML頁面提取鏈接?
- 2. 如何從.html頁面中提取鏈接和標題?
- 3. 如何從Java中的HTML頁面提取JavaScript鏈接?
- 4. sed從html頁面提取鏈接
- 5. Html Agility Pack鏈接和img src提取
- 6. 從PHP中提取HTML中的所有文本和img標籤。
- 7. 如何使用提取從遠程頁面的head標籤鏈接捲曲
- 8. 解析HTML頁面以提取鏈接
- 9. 如何從HTML頁面源獲取特定的html div標籤?
- 10. 從Pelican頁面鏈接到標籤
- 11. 使用Javascript從HTML中提取標籤
- 12. 如何獲得<img>標籤在HTML頁面的焦點
- 13. 單擊鏈接從CSS插入到另一個頁面的IMG?
- 14. 如何在JavaScript中提取指向Perl中的HTML頁面的鏈接?
- 15. 從html頁面獲取相對鏈接
- 16. 標籤上的HTML頁面的CSS
- 17. 需要幫助從C#中的HTML頁面提取標籤#
- 18. iphone - 如何從HTML提取youtube鏈接?
- 19. 如何提取從HTML鏈接
- 20. 禪CSS和img標籤
- 21. 如何鏈接從另一個頁面的標籤內容
- 22. 從HTML頁面提取所有鏈接,排除特定表格中的鏈接
- 23. 分頁鏈接和標籤
- 24. 如何從Perl中的HTML頁面上的鏈接中提取文本?
- 25. 如何從html頁面提取文本?
- 26. 如何從html頁面提取文本?
- 27. 如何提取錨標籤中的所有img標籤?
- 28. 如何添加<br>標籤鏈接<img>標籤?
- 29. SharedAccessSignature和img HTML標籤
- 30. 從HTML中提取鏈接
對於使用regexp解析HTML,請參閱此問題的第一個答案:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags:D – pajton
只要你的代碼不打算首先PARSE這個頁面,你當然可以使用正則表達式從HTML頁面中提取鏈接。因爲正則表達式無法解析HTML。但在我看來,不再需要解析一個HTML頁面來查找並從中提取一些字符串,而不是從任何其他非HTML頁面 – eyquem