日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
一日一技:如何正確在 PyCharm 中調試 Scrapy 爬蟲?

最近有不少同學在粉絲群里面問,如何調試Scrapy 爬蟲。有些人不知道如何讓 Scrapy 爬蟲進入調試模式;還有一些人不知道怎么單步調試。

成都創(chuàng)新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站設計、成都做網站、烏海網絡推廣、小程序開發(fā)、烏海網絡營銷、烏海企業(yè)策劃、烏海品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯為所有大學生創(chuàng)業(yè)者提供烏海建站搭建服務,24小時服務熱線:18982081108,官方網址:www.cdcxhl.com

怎么進入調試模式

我們知道,Scrapy 項目要啟動爬蟲的時候,需要在終端或者 CMD 中執(zhí)行一段命令scrapy crawl 爬蟲名。但是,PyCharm 的調試模式需要以某個.py文件作為入口來運行。

為了解決這個問題,我們可以在 Scrapy 項目的根目錄創(chuàng)建一個 main.py文件,然后在里面寫下如下一段代碼:

 
 
 
 
  1. from scrapy.cmdline import execute 
  2.  
  3. execute('scrapy crawl 爬蟲名'.split()) 

然后,以這個文件作為入口文件,在這個文件上右鍵,選擇Debug 'main',就可以正確啟動 PyCharm 的調試模式并在第一個斷點上停下來了。如下圖所示:

如何正確單步調試

單步調試大家都會,不就是下圖中畫紅框的這兩個按鈕嘛:

左邊是逐行調試,遇到函數直接跳過,右邊是遇到函數進入

但問題是,在 Scrapy 項目里面,如果你的代碼運行到了yield scrapy.Request這種使用yield拋出請求對象的語句,只要再按一下單步調試的按鈕,你就會發(fā)現 PyCharm 跳轉到了一個陌生的地方,如下圖所示:

又或者,你的代碼發(fā)送了很多次請求,回調函數都到self.parse里面,現在你已經看完第一條請求返回的數據了,斷點停在了第28行,如下圖所示:

現在你想看第二次請求的返回數據,于是你點了一下單步調試,于是你又來到了一個陌生的地方:

這個地方就像一個泥潭,無論你怎么跳出都跳不出來,始終無法回到你自己的代碼中。你越是往外跳,PyCharm 就會打開越多的陌生文件,如下圖所示:

遇到這種情況怎么辦呢?實際上非常簡單,你注意觀察在調試面板上,還有一個按鈕,如下圖箭頭所指:

這個按鈕的功能,是讓 PyCharm 運行的代碼,運行到你當前鼠標光標所在的位置再停下來。所以,例如現在上面圖中的代碼停在了第17行,我想馬上運行到第28行怎么辦?鼠標首先在第28行點一下,如下圖所示箭頭指向的輸入光標:

然后按下這個運行到光標的按鈕,就會發(fā)現代碼已經運行到了這一行(是到了這一行,還沒有運行這一行)。接下來你再按一下單步調試按鈕,就能看到 info 變量的值了。看了第一次請求的返回值以后,你想看第二次請求的返回值怎么辦呢?也很好辦,你再一次用鼠標點一下第27行或者第28行,接下來再次點擊運行到當前光標的按鈕,于是第二次請求的結果立刻就出現在了你的面前:

本文轉載自微信公眾號「未聞Code」,可以通過以下二維碼關注。轉載本文請聯系未聞Code公眾號。


網頁名稱:一日一技:如何正確在 PyCharm 中調試 Scrapy 爬蟲?
路徑分享:http://m.5511xx.com/article/cdipeeg.html