使用 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 文档中查询和选择内容。