爬蟲記(二) - 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裡面少了個括號)