使用 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,html5liblxmllxml.html

lxml

處理 HTML 和 XML。可用於通過 CSS 選擇器和 XPath 從 HTML 文件中查詢和選擇內容。