1. 程式人生 > >Python-- scrapy-shell學習筆記

Python-- scrapy-shell學習筆記

 目錄

scrapy-shell

1.啟動

2.response

3.selector

4.練習 (自己做的小練習,獲取招聘網站的資訊)


scrapy-shell

官方文件:https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/shell.html

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

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

1.啟動

 

  • Linux: ctr+T,開啟終端,然後輸入scrapy shell "url:xxxx"
  • windows: scrapy shell "url:xxx"
  • 啟動後自動下載指定url的網頁
  • 下載完成後,url的內容儲存在response的變數中,如果需要,我們需要呼叫response

        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()同樣可以生效(如之前的案例)。

2.response

  • 爬取到的內容儲存在response中給
  • response.body是網頁的程式碼
  • resposne.headers是返回的http的頭資訊
  • response.xpath()允許使用xpath語法選擇內容
  • response.css()允許使用css語法選區內容

3.selector

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

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

  • xpath(): 傳入xpath表示式,返回該表示式所對應的所有節點的selector list列表
  • extract(): 序列化該節點為Unicode字串並返回list
  • css(): 傳入CSS表示式,返回該表示式所對應的所有節點的selector list列表,語法同 BeautifulSoup4
  • re(): 根據傳入的正則表示式對資料進行提取,返回Unicode字串list列表

selector :

  • 選擇器,允許使用者使用選擇器來選擇自己想要的內容
  • response.selector.xpath: response.xpath是selector.xpath的快捷方式
  • response.selector.css: response.css是他的快捷方式
  • selector.extract:把節點的內容用unicode形式返回
  • selector.re:允許使用者通過正則選區內容

4.練習 (自己做的小練習,獲取招聘網站的資訊)

1.首先進入獵聘網,搜尋Python,按F12出現如下介面

 

 2.查詢崗位的連線所在位置

3.啟動shell

出現如下資訊表示成功:

4.根據連線所在位置進行查詢(用到xpath的知識,xpath教程http://www.w3schools.com/XPath/default.asp

輸出檢視結果: