使用 Python 進行 Web 抓取
用於 Web 抓取的有用 Python 包(按字母順序排列)
發出請求和收集資料
requests
用於發出 HTTP 請求的簡單但功能強大的包。
requests-cache
快取 requests
; 快取資料非常有用。在開發過程中,這意味著你可以避免不必要地訪問網站。在執行真正的集合時,這意味著如果你的刮刀出於某種原因崩潰(也許你沒有在網站上處理一些不尋常的內容……?也許網站崩潰了??)你可以很快地重複收集從你離開的地方。
scrapy
對於構建 Web 爬蟲非常有用,你需要比使用 requests
更強大的功能並遍歷頁面。
selenium
用於瀏覽器自動化的 Selenium WebDriver 的 Python 繫結。使用 requests
直接發出 HTTP 請求通常更容易檢索網頁。但是,當僅使用 requests
無法複製網站的所需行為時,這仍然是一個有用的工具,特別是當需要 JavaScript 在頁面上呈現元素時。
HTML 解析
BeautifulSoup
使用許多不同的解析器查詢 HTML 和 XML 文件(Python 的內建 HTML Parser,html5lib
,lxml
或 lxml.html
)
lxml
處理 HTML 和 XML。可用於通過 CSS 選擇器和 XPath 從 HTML 文件中查詢和選擇內容。