項目介紹
需要Python 3.6+
Scrapy GUI
一個簡單的,由Qt-Webengine驅動的Web瀏覽器,具有用於測試scrapy蜘蛛代碼的內置功能。
還包括一個插件,以使GUI可以與scrapy shell一起使用。
目錄
安裝
您可以使用以下方式從PyPi導入軟件包
點安裝scrapy_gui
然后,您可以使用將其導入到Shell中import scrapy_gui
。
獨立用戶界面
可以通過使用scrapy_gui.open_browser()
python shell 打開標准用戶界面。它由一個Web瀏覽器和一組分析其內容的工具組成。
瀏覽器標簽
在搜索欄中輸入任何網址,然后按回車鍵或按“開始”按鈕。加載動畫完成后,即可在“工具”選項卡中進行解析。
工具標簽
工具標簽包含用於分析頁面內容的各個部分。此選項卡的目的是使測試查詢和代碼變得容易,以供在Scrapy Spider中使用。
注意:這將使用初始 html響應。如果以后有其他請求,JavaScript等更改了頁面,則不會考慮到該問題。
它將使用該requests
程序包向初始html加載附加請求。運行查詢時,它將使用Selection
parsel包創建一個選擇器對象。
查詢框
通過查詢框,您可以使用Parsel兼容的CSS和XPath查詢從頁面中提取數據。
它返回結果就像selection.css/xpath('YOUR QUERY').getall()
被調用一樣。
如果沒有結果或查詢中有錯誤,將彈出一個對話框,通知您該問題。
正則表達式框
此框使您可以添加除先前的CSS查詢之外的正則表達式模式。
它返回結果就像selection.css/xpath('YOUR QUERY').re(r'YOUR REGEX')'
被調用一樣。這意味着,如果使用組,它將僅返回括號內的內容。
功能盒
此框可讓您定義可以在查詢和正則表達式的結果上運行的其他python代碼。該代碼可以任意長度和復雜,包括添加其他功能,類,導入等。
唯一的要求是,您必須包括一個user_fun(results, selector)
返回a 的函數list
。
結果框
該表將列出通過正則表達式和函數(如果已定義)傳遞的所有結果。
來源標簽
此選項卡包含在“工具”選項卡中使用的html源。您可以使用文本框搜索特定內容。所有搜索都不區分大小寫。
注釋標簽
這只是一個純文本框。退出應用程序時,此處的內容不會保存。
與Scrapy Shell集成
可以將此工具與刮板外殼集成在一起。這將使您可以將其用於通過中間件傳遞的響應,訪問更復雜的請求和更特定的選擇器。
激活
要在您的外殼中使用它,請使用以下命令導入load_selector方法:
from scrapy_gui import load_selector
然后,您可以編寫load_selector(YOUR_SELECTOR)來打開一個將選擇器加載到其中的窗口。
例如,
load_selector(response)
將您的響應加載到UI中。
當您運行的代碼命名的窗口Scrapy GUI
將打開包含Tools
,Source
以及Notes
上面提到的從獨立窗口選項卡。