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