這里介紹一些使用 Firefox 進行爬取的點子及建議,以及一些幫助爬取的 Firefox 實用插件。
Firefox 插件操作的是活動的瀏覽器 DOM(live browser DOM),這意味著當(dāng)您檢查網(wǎng)頁源碼的時候, 其已經(jīng)不是原始的 HTML,而是經(jīng)過瀏覽器清理并執(zhí)行一些 Javascript 代碼后的結(jié)果。 Firefox 是個典型的例子,其會在 table 中添加 <tbody> 元素。而 Scrapy 相反,其并不修改原始的 HTML,因此如果在 XPath 表達式中使用 <tbody>,您將獲取不到任何數(shù)據(jù)。
所以,當(dāng) XPath 配合 Firefox 使用時您需要記住以下幾點:
id,class,width 等)的路徑 或者具有區(qū)別性的特性例如 contains(@href, 'image')。<tbody>元素,除非您知道您在做什么Firebug 是一個在 web 開發(fā)者間很著名的工具,其對抓取也十分有用。尤其是檢查元素(Inspect Element)特性對構(gòu)建抓取數(shù)據(jù)的 XPath 十分方便。當(dāng)移動鼠標(biāo)在頁面元素時,您能查看相應(yīng)元素的 HTML 源碼。
查看使用 Firebug 進行爬取,了解如何配合 Scrapy 使用 Firebug 的詳細教程。
XPather 能讓你在頁面上直接測試 XPath 表達式。
XPath Checker 是另一個用于測試 XPath 表達式的 Firefox 插件。
Tamper Data 是一個允許您查看及修改 Firefox 發(fā)送的 header 的插件。Firebug 能查看 HTTP header,但無法修改。
Firecookie 使得查看及管理 cookie 變得簡單。您可以使用這個插件來創(chuàng)建新的 cookie,刪除存在的 cookie,查看當(dāng)前站點的 cookie,管理 cookie 的權(quán)限及其他功能。