Scrapy框架的安裝及使用


步驟1、環境准備

  右擊Ubuntu操作系統桌面,從彈出菜單中選擇【Open in Terminal】命令 打開終端。

  通過【cd /home】切換到home目錄下。【ls】查看該目錄下的所有內容。

 

圖1 切換目錄

  【mkdir scrapy】在home目錄下創建scrapy文件夾。

圖2 創建文件夾

步驟2、Scrapy安裝

  【pip install scrapy】安裝爬蟲框架Scrapy,(該框架虛擬機已安裝,無需執行,制作參考)

圖3 安裝Scrapy

  【Scrapy】已安裝成功,版本為1.5

圖4 驗證Scrapy

步驟3、Scrapy操作

  在開始爬取之前,必須創建一個新的scrapy項目

  【cd scrapy】切換至scrapy的目錄

  【scrapy startproject movie】創建scrapy項目,名為movie.

圖5 創建Scrapy項目

  【tree】查看項目結構

  scrapy.cfg 項目的配置信息,主要為Scrapy命令行工具提供一個基礎的配置信息。(真正爬蟲相關的配置信息在settings.py文件中)

  items.py 設置數據存儲模板,用於結構化數據,如:Django的Model

  pipelines 數據處理行為,如:一般結構化的數據持久化

  settings.py 配置文件,如:遞歸的層數、並發數,延遲下載等

  spiders 爬蟲目錄,如:創建文件,編寫爬蟲規則

圖6 項目結構

  定義要抓取的數據

  Item 是保存爬取到的數據的容器;其使用方法和python字典類似, 並且提供了額外保護機制來避免拼寫錯誤導致的未定義字段錯誤。

  【vim item.py】編輯item文件。

圖7 數據item

  回車后按【i】進入編輯狀態。編輯信息如下。獲取電影名字。

圖8 編輯信息

  編輯完畢后,按【esc】退出編輯狀態,【:wq】保存並退出編輯框。

  【cd spider】進入spider目錄,【vim meiju.py】回車后創建並編輯meiju文件。

圖9 創建Python文件

  回車后按【i】進入編輯狀態,編輯如下信息。

  Spider是用戶編寫用於從單個網站(或者一些網站)爬取數據的類。

  其包含了一個用於下載的初始URL,如何跟進網頁中的鏈接以及如何分析頁面中的內容, 提取生成 item 的方法。

  為了創建一個Spider,您必須繼承 scrapy.Spider 類,且定義以下三個屬性:

  name: 用於區別Spider。 該名字必須是唯一的,您不可以為不同的Spider設定相同的名字。

  start_urls: 包含了Spider在啟動時進行爬取的url列表。 因此,第一個被獲取到的頁面將是其中之一。 后續的URL則從初始的URL獲取到的數據中提取。

  parse() 是spider的一個方法。 被調用時,每個初始URL完成下載后生成的 Response 對象將會作為唯一的參數傳遞給該函數。 該方法負責解析返回的數據(response data),提取數據(生成item)以及生成需要進一步處理的URL的 Request 對象。

圖10 編輯Python文件

  【cd ../..】切換項目的目錄。【scrapy crawl meiju】運行該項目

圖11 運行Scrapy項目

  根據打印的信息判斷請求成功。

圖12 信息打印

  在瀏覽器中輸入URL,根據判斷得知。

  【//ul[@class=”top-list fn-clear”]/li】所有的電影信息

  【./h5/a/@title】電影的名稱

圖13 分析URL

  再次編輯meiju文件。

圖14 編輯Python文件

  修改程序如下。通過選擇器(Selectors)用XPath來提取數據

圖15 選擇器

  編輯完畢后,按【esc】退出編輯狀態,【:wq】保存並退出編輯框。

  【cd ..】切換上級目錄。

  【vim settings.py】編輯文件,設置下載的數量。

圖16 編輯settings.py文件

  回車后按【i】進入編輯狀態。編輯信息如下。獲取電影名字。(只需在文件中找到該行,取消掉注釋修改大小即可,)

圖17 編輯文件

  編輯完畢后,按【esc】退出編輯狀態,【:wq】保存並退出編輯框。

  【vim pipelines.py】編輯pipelines.py文件。

圖18 編輯pipelines文件

  回車后按【i】進入編輯狀態。編輯信息如下。將電影名字數據寫入txt文件中。

圖19 數據寫入

  編輯完畢后,按【esc】退出編輯狀態,【:wq】保存並退出編輯框。

  【cd ..】切換至上級目錄。

  【scrapy crawl meiju】運行項目進行爬取

圖20 運行Scrapy項目

  【ls】查看該目錄下生成一個movies.txt文件。

  【cat movies.txt】爬取到前100個電影名字。

圖21 查看運行效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM