關於Scrapy爬蟲專案執行和除錯的小技巧(上篇)

2022-02-08 08:35:12 字數 1263 閱讀 3427

掃除執行scrapy爬蟲程式的bug之後,現在便可以開始進行編寫爬蟲邏輯了。在正式開始爬蟲編寫之前,在這裡介紹四種小技巧,可以方便我們操縱和除錯爬蟲。

一、建立main.py檔案,直接在pycharm下進行除錯

很多時候我們在使用scrapy爬蟲框架的時候,如果想執行scrapy爬蟲專案的話,一般都會想著去命令列中直接執行命令「scrapy crawl crawler_name」,其中crawler_name指的是爬蟲的名字,在一開始建立scrapy爬蟲模板的時候就指定了的,而且在該爬蟲專案中具有唯一性。但是每次跑到命令列下去執行,看互動的結果,有時候並不是很清晰,所以這裡介紹一種方法,可以幫助大家提高開發效率,尤其是除錯的時候更是顯得方便。

在與爬蟲專案的scrapy.cfg檔案同級目錄下建立乙個main.py檔案,用於控制整個爬蟲專案的執行。

在該資料夾中寫入的**見下圖。其中execute函式是內嵌在scrapy中的,呼叫這個函式可以直接呼叫該scrapy工程專案的爬蟲指令碼,這個函式的執行需要在爬蟲專案的父目錄下進行。而第7行**的意思就是獲取當前py檔案的父目錄,省去我們直接複製路徑的精力和時間,同時也方便我們將該專案放到其他的平台上去執行,不會報路徑的錯誤。execute函式裡邊的引數其實就是將scrapy爬蟲執行命令拆分,然後分別以乙個字元的方式放到了乙個陣列中。

之後我們直接執行這個main.py檔案便可以呼叫scrapy爬蟲程式了。

二、多用debug進行除錯,提高開發速度

相信用過pycharm的小夥伴都看到過debug這個東東,它的英文意思就是「小蟲子」,在pycharm中的logo也是個小蟲子,像是七星瓢蟲一樣,不過很多小夥伴可能還沒有怎麼用過,這裡簡單的介紹給大家,希望大家日後可以多多用到,對於專案的除錯十分有幫助。

在進行debug除錯之前,我們需要在我們想要除錯的**左側進行打斷點,斷點一般是紅色的,打斷點的方式很簡單,只需要在**的左側點選一下左鍵即可,如下圖所示。

斷點設定完成之後,便可以去main.py檔案進行除錯了。在main.py檔案點選右鍵,然後選擇「debug 『main』」,如下圖所示。

之後爬蟲程式便開始進行除錯,並且會返回一系列結果,如下圖所示,可以方便的進行拖拽檢視。同時也會在爬蟲檔案中以綠色的字型進行顯示爬蟲的結果,很漂亮。

如果想退出或者停止該除錯,則點選pycharm上方選項卡的run,然後點選「stop 『main』」即可,如下圖所示。

之後該爬蟲程式就會退出除錯,恢復正常的pycharm介面,如下圖所示。

關於scrapy爬蟲專案執行和除錯兩個小技巧先分享到這裡,下次將分享scrapy爬蟲專案中更為實用的兩種除錯方法,敬請期待~~

關於Scrapy爬蟲專案執行和除錯的小技巧(下篇)

前幾天給大家分享了關於scrapy爬蟲專案執行和除錯的小技巧上篇,沒來得及上車的小夥伴可以戳超連結看一下。今天小編繼續沿著上篇的思路往下延伸,給大家分享更為實用的scrapy專案除錯技巧。三 設定 robots.txt規則為false 一般的,我們在運用scrapy框架抓取資料之前,需要提前到set...

scrapy 執行同個專案多個爬蟲

一開始我們預設都是只有乙個爬蟲的,所以執行的 都是在專案下建立乙個py檔案 from scrapy import cmdline cmdline.execute scrapy crawl 爬蟲名 split 但是要執行多個爬蟲就犯難了,在這裡我只是做個筆記加強記憶 原部落格 其中執行以下 1 在sp...

Scrapy 執行多個爬蟲

本文所使用的 scrapy 版本 scrapy 1.8.0 多個爬蟲 所有爬蟲 顯然,這兩種情況並不一定是等同的。假設當前專案下有 3 個爬蟲,分別名為 route dining experience,並在專案目錄下建立乙個main.py檔案,下面的示例 都寫在這個檔案中,專案執行時,在命令列下執行...