1. 程式人生 > >爬蟲記(二) - Idea安裝Scrapy & Scrapy入門

爬蟲記(二) - Idea安裝Scrapy & Scrapy入門

我用Intellij IDEA寫Python指令碼,IDEA裝上Python外掛之後跟PyCharm差不多。

安裝Scrapy

連結 Pycharm中的scrapy安裝教程 - xiaoli2018 - 部落格園

步驟

* 開啟IDEA的settings->Plugins,點選,搜尋並安裝Python外掛

* 新建Python專案

* 執行方法一或方法二

* 記住scrapy.exe的位置,在Python.exe的同級目錄/Scripts/scrapy.exe。可以將Scripts資料夾新增到Path中。

方法一

* 點選File->Project Structure->SDKs,選擇正在使用的Python直譯器,然後選Packages,+

* 現在進入了一個新介面“Available Packages”

* 按照下面的依賴關係安裝各個包

方法二

* 新建Python指令碼,並在其中寫入一行程式碼:import scrapy

* 點選程式碼中的scrapy這個單詞,按Alt+Enter,選擇Install Package scrapy,該包及依賴包會被自動安裝

 

Scrapy入門

連結 Scrapy簡單入門及例項講解 - 孔紮根 - 部落格園

個人理解 Scrapy架構

第一個例子的步驟

* 在專案下新建一個資料夾MyFirstScrapy,然後右擊這個資料夾,選擇Show In Explorer

* 在開啟的視窗中,按住Shift右擊空白處,在此處開啟PowerShell視窗(或命令提示符)

  如果已經開啟終端但是定位在其它目錄,可以通過cd /D F:\xxx\MyFisrtScrapy切換到該資料夾。

* 建立工程: 執行scrapy startproject xxx

* 建立爬蟲程式: 執行scrapy genspider(翻譯: 生成爬蟲器) xxx meijutt.com

  執行之後會生成一個XXXSpider類繼承scrapy.Spider

* 設定資料儲存模板 items.py。注意不要新建檔案,scrapy在建立工程時已經建立了了這個檔案

* 編寫爬蟲的parse函式。(Spiders)

* 設定配置檔案 settings.py。(將Spiders生成的item引到自定義的Pipelines)

* 編寫資料處理指令碼。(Pipelines)

* 執行爬蟲。(通過名字定位到Spider)

* 請參考原網址

第一個例子:我遇到的問題

錯誤1 KeyError: 'Spider not found: y'

爬蟲器的name和命令中的名字要一致:

class MeijuSpider(scrapy.Spider):
    name = 'xxx'

scrapy.exe crawl xxx

參考連結 KeyError: 'Spider not found:name一樣,為何還是找不到spider 多種解決方案,總有一個適合你! - weixin_41931602的部落格 - CSDN部落格

錯誤2 builtins.ModuleNotFoundError: No module named 'win32api'

在控制檯中執行 pip install pywin32 即可

第一個例子:原文可能存在的問題

問題1 篩選條件存在問題

修改MeijuSpider的parse函式,xpath的引數可能要修改。

修改方法參考連結:Scrapy元素選擇器Xpath用法彙總 - manongpengzai的部落格 - CSDN部落格

問題2 檔案寫入有問題

實測需要刪除pipelines.py中的.encode("utf8")

第二個例子 帶截圖

* 在命令提示符建立專案、生成指令碼

* 修改實體類

* 編寫爬蟲

* 編輯配置檔案(直接取消註釋)

* 編寫資料處理指令碼

* 執行爬蟲

* 執行結果

 

Scrapy除錯

連結 Scrapy使用以及Xpath的一些坑, 再入剁手 - 滿天都是小星星 - 部落格園

由於上一個例子一直爬不出資料,所以我想用對xpath的引數進行測試(後來發現是PicItem裡面少了個括號)