Scrapy終端是一個交互終端,供您在未啓動spider的情況下嘗試及調試您的爬取代碼。 其本意是用來測試提取數據的代碼,不過您可以將其作爲正常的Python終端,在上面測試任何的Python代碼。
該終端是用來測試XPath或CSS表達式,查看他們的工作方式及從爬取的網頁中提取的數據。 在編寫您的spider時,該終端提供了交互性測試您的表達式代碼的功能,免去了每次修改後運行spider的麻煩。
一旦熟悉了Scrapy終端後,您會發現其在開發和調試spider時發揮的巨大作用。
啓動終端
您可以使用 shell
來啓動Scrapy終端:
scrapy shell <url>
<url>
是您要爬取的網頁的地址。
使用終端
Scrapy終端僅僅是一個普通的Python終端(或 IPython )。其提供了一些額外的快捷方式。
可用的快捷命令(shortcut)
shelp()
- 打印可用對象及快捷命令的幫助列表fetch(request_or_url)
- 根據給定的請求(request)或URL獲取一個新的response,並更新相關的對象view(response)
- 在本機的瀏覽器打開給定的response。 其會在response的body中添加一個 <base> tag ,使得外部鏈接(例如圖片及css)能正確顯示。 注意,該操作會在本地創建一個臨時文件,且該文件不會被自動刪除。
可用的Scrapy對象
Scrapy終端根據下載的頁面會自動創建一些方便使用的對象,例如 Response
對象及 Selector
對象(對HTML及XML內容)。
這些對象有: