首頁 後端開發 Python教學 如何使用scrapy shell來驗證xpath選擇的結果詳細教學

如何使用scrapy shell來驗證xpath選擇的結果詳細教學

Jul 19, 2017 pm 02:19 PM
ipython scrapy shell

1. scrapy shell

是scrapy套件的一個很好的互動性工具,目前我使用它主要用於驗證xpath選擇的結果。安裝好了scrapy之後,就能夠直接在cmd上操作scrapy shell了。

Scrapy Shell

Scrapy終端機是一個互動終端,我們可以在未啟動spider的情況下嘗試及除錯程式碼,也可以用來測試XPath或CSS表達式,查看他們的工作方式,方便我們爬取的網頁中提取的資料。

如果安裝了 IPython ,Scrapy終端將使用 IPython (替代標準Python終端)。 IPython 終端與其他相比更為強大,提供智慧的自動補全,高亮輸出,及其他特性。 (建議安裝IPython)

啟動Scrapy Shell

進入專案的根目錄,執行下列指令來啟動shell:

scrapy shell "http://www.itcast. cn/channel/teacher.shtml"

Scrapy Shell根據下載的頁面會自動建立一些方便使用的對象,例如Response 對象,以及 Selector 物件(對HTML及XML內容)。

當shell載入後,將會得到一個包含response資料的本地 response 變量,輸入 response.body將輸出response的包體,輸出 response.headers 可以看到response的封包。

輸入 response.selector 時, 將取得到一個response 初始化的類別 Selector 的對象,此時可以透過使用 response.selector.xpath()或response.selector.css() 來查詢 response。

Scrapy也提供了一些捷徑, 例如 response.xpath()或response.css()同樣可以生效(如之前的案例)。

Selectors選擇器

Scrapy Selectors 內建XPath 和CSS Selector 表達式機制

Selector有四個基本的方法,最常用的還是xpath:

xpath(): 傳入xpath表達式,返回該表達式所對應的所有節點的selector list列表

extract(): 序列化該節點為Unicode字串並傳回list

#css(): 傳入CSS表達式,傳回該表達式所對應的所有節點的selector list列表,語法同BeautifulSoup4

re(): 根據傳入的正規表示式將資料擷取,回傳Unicode字串list清單


 

#2. ipython

##在官網推薦使用ipython來跑scrapy shell,所以我嘗試安裝。因為之前我的python環境都是透過conda配置的(參考前一篇),透過conda安裝ipython很方便

conda install -c conda-forge ipython
登入後複製
然後整個ipython的套件就會下載下來,因為都是編譯好的,沒有了煩人的編譯失敗的過程了。

 

3. 運行ipython和在ipython上運行scrapy shell

在目前的cmd運行框中,因為已經配置了系統環境,是可以直接運行python包的,所以直接在cmd運行框中敲入ipython就會進入到ipython的運行框,跟系統標準的cmd差不多,但是功能更豐富,色彩更豐富,佈局也能好。

但是當我直接在這上面敲scrapy shell指令,但一直說沒有這個指令,失敗。在這裡卡住了。

後來透過仔細閱讀scrapy shell的說明

If you have IPython installed, the Scrapy shell will use it (instead of the standard Python console). 

#意思是scrapy shell會自己去找ipython的運行框。

於是直接在cmd的標準運行框中輸入scrapy shell ,傳回的結果直接呼叫到ipython的運行框了。

以上是如何使用scrapy shell來驗證xpath選擇的結果詳細教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Scrapy實現微信公眾號文章爬取與分析 Scrapy實現微信公眾號文章爬取與分析 Jun 22, 2023 am 09:41 AM

Scrapy實現微信公眾號文章爬取和分析微信是近年來備受歡迎的社群媒體應用,在其中運作的公眾號也扮演著非常重要的角色。眾所周知,微信公眾號是一個資訊和知識的海洋,因為其中每個公眾號都可以發布文章、圖文訊息等資訊。這些資訊可以被廣泛地應用在許多領域中,例如媒體報道、學術研究等。那麼,本篇文章將介紹如何使用Scrapy框架來實現微信公眾號文章的爬取與分析。 Scr

Linux快速刪除檔案末尾行的操作步驟 Linux快速刪除檔案末尾行的操作步驟 Mar 01, 2024 pm 09:36 PM

Linux系統下在處理檔案時,有時候需要刪除檔案末端的行。這種操作在實際應用中很常見,可以透過一些簡單的命令來實現。本文將介紹在Linux系統中快速刪除檔案結尾行的操作步驟,同時提供具體的程式碼範例。步驟一:檢視文件末尾行在進行刪除操作之前,首先需要確認文件的末尾行是哪一行。可以使用tail指令來查看文件的結尾行,具體指令如下:tail-n1filena

Scrapy基於Ajax非同步載入實作方法 Scrapy基於Ajax非同步載入實作方法 Jun 22, 2023 pm 11:09 PM

Scrapy是一個開源的Python爬蟲框架,它可以快速且有效率地從網站上取得資料。然而,許多網站採用了Ajax非同步載入技術,使得Scrapy無法直接取得資料。本文將介紹基於Ajax非同步載入的Scrapy實作方法。一、Ajax非同步載入原理Ajax非同步載入:在傳統的頁面載入方式中,瀏覽器發送請求到伺服器後,必須等待伺服器回傳回應並將頁面全部載入完畢才能進行下一步操

ipython安裝教學課程 ipython安裝教學課程 Dec 05, 2023 pm 02:15 PM

安裝教學:1.確保已經安裝了Python,ipython是一個Python包,所以需要先安裝Python;2、打開命令列或終端,輸入「pip install ipython」指令安裝ipython;3、若係統同時安裝了Python2和Python3,可使用「pip3 install ipython」指令安裝ipython3;4、安裝完成即可。

Scrapy案例解析:如何抓取LinkedIn上公司訊息 Scrapy案例解析:如何抓取LinkedIn上公司訊息 Jun 23, 2023 am 10:04 AM

Scrapy是一個基於Python的爬蟲框架,可以快速且方便地獲取網路上的相關資訊。在本篇文章中,我們將透過Scrapy案例來詳細解析如何抓取LinkedIn上的公司資訊。確定目標URL首先,我們需要明確我們的目標是LinkedIn上的公司資訊。因此,我們需要找到LinkedIn公司資訊頁面的URL。開啟LinkedIn網站,在搜尋框中輸入公司名稱,在

如何將IPython筆記本轉換為PDF和HTML? 如何將IPython筆記本轉換為PDF和HTML? Sep 08, 2023 pm 08:33 PM

IPython筆記本是一種非常受歡迎的科學計算和數據分析工具,被研究人員、分析師和程式設計師廣泛使用。透過允許使用者將程式碼、文字和互動式視覺化整合到單一文件中,它們使探索資料、開發模型和交流結果變得簡單。然而,與其他人分享IPython筆記本可能很困難,特別是當接收者缺乏運行它們所需的軟體或專業知識時。應對這項挑戰的解決方案是將IPython筆記本轉換為PDF和HTML,它們受到普遍支持,並且可以在任何裝置上輕鬆存取。在本文中,我們將深入研究將IPython筆記本轉換為PDF和HTML的三種方法,其

109個實用 Shell 腳本實例,程式碼清晰拿來就能用! 109個實用 Shell 腳本實例,程式碼清晰拿來就能用! Aug 02, 2023 pm 03:25 PM

Shell腳本,就是利用Shell的指令解釋的功能,對一個純文字的檔案進行解析,然後執行這些功能,也可以說Shell腳本就是一系列指令的集合。

在Scrapy爬蟲中使用Selenium和PhantomJS 在Scrapy爬蟲中使用Selenium和PhantomJS Jun 22, 2023 pm 06:03 PM

在Scrapy爬蟲中使用Selenium和PhantomJSScrapy是Python下的一個優秀的網路爬蟲框架,已經被廣泛應用於各個領域中的資料收集和處理。在爬蟲的實作中,有時候需要模擬瀏覽器操作去取得某些網站呈現的內容,這時候就需要用到Selenium和PhantomJS。 Selenium是模擬人類對瀏覽器的操作,讓我們可以自動化地進行網頁應用程式測試

See all articles