国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

pycharm寫scrapy遇到的問題

這篇具有很好參考價(jià)值的文章主要介紹了pycharm寫scrapy遇到的問題。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

背景

居然還有萬能的pycharm解決不了的python程序???

創(chuàng)建scrapy

由于PyCharm中沒有直接創(chuàng)建Scrapy項(xiàng)目的選項(xiàng),所以使用命令行創(chuàng)建一個(gè)項(xiàng)目

安裝scrapy

pip install scrapy

查看版本
能看版本就是安裝成功

scrapy version

pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

創(chuàng)建一個(gè)scrapy項(xiàng)目

scrapy startproject yourprojectname

pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

根據(jù)提示創(chuàng)建爬蟲

cd asd
scrapy genspider example example.com

這樣就創(chuàng)建成功了
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

難受的開始

使用PyCharm打開這個(gè)項(xiàng)目,卻發(fā)現(xiàn)爬蟲中的parse函數(shù)是灰色的框
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

Signature of method 'ExampleSpider.parse()' does not match signature of the base method in class 'Spider'

看一下父類中的parse函數(shù)是如何定義的,因?yàn)槲覀兪侵貙懜割惖姆椒?,?strong>pycharm點(diǎn)這個(gè)就行了
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

進(jìn)到父類可以看到有一個(gè)**kwargs參數(shù)
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

**kwargs參數(shù)加入到自己的爬蟲的parse上面去,灰框就不見了,總算看著不難受了
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

指定類型

但是還有一個(gè)問題,灰框只是看著難受,沒有代碼提示才是真的難受,.不出來誰懂啊
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

運(yùn)行一下打印他的類型看看,可以看到是scrapy.http.response.html.HtmlResponse類型

scrapy crawl example # example是你的爬蟲名字,也就是類里面的name屬性

pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide
如果不想看到那么多煩人的日志信息就在settings.py中加上日志等級

LOG_LEVEL = 'WARNING'

pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

重新運(yùn)行看看效果,世界安靜
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

既然知道是什么類型那就給他指定類型就行了

from scrapy.http.response import Response

def parse(self, response: Response, **kwargs):

.出來了,舒服了
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

修改模板并指定使用

終于可以看到有了正常的代碼提示了,但是總不能每次都這樣寫吧,查看genspider命令,發(fā)現(xiàn)-t參數(shù)可以使用自定義模板
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

可以看到正常創(chuàng)建爬蟲是使用basic這個(gè)模板
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

在你的解釋器路徑下找到該文件夾

\Python39\Lib\site-packages\scrapy\templates\spiders

可以在該路徑下找到這個(gè)模板文件
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

如果是用pycharm還可以這樣操作更快一點(diǎn),而且直接定位到解釋器位置以免你用的是虛擬環(huán)境路徑不一樣

導(dǎo)入scrapy包然后按住鍵盤的ctrl鍵然后用鼠標(biāo)左鍵點(diǎn)一下就可以跳過去他的源代碼
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

點(diǎn)擊后跳轉(zhuǎn)到__init__.py,其實(shí)跳哪個(gè)不重要,只要屬于scrapy這個(gè)包就好了
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

然后就可以找到模板文件了
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

這樣就可以看見他的內(nèi)容了,也可以右鍵打開他的文件夾
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

我選擇復(fù)制一份出來(你也可以在上面直接改那就不用使用genspider -t指定模板了)
mytemplate.tmpl 你想叫什么名字都可以

import scrapy
from scrapy.http.response import Response


class $classname(scrapy.Spider):
    name = "$name"
    allowed_domains = ["$domain"]
    start_urls = ["$url"]

    def parse(self, response: Response, **kwargs):
        pass

然后就可以使用自定義的模板創(chuàng)建爬蟲

# scrapy genspider -t 模板名稱 爬蟲名稱 域名
 scrapy genspider -t mytemplate test test.com

可以看見新建的爬蟲沒有一點(diǎn)問題,舒服的代碼提示
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

注意模板名稱必須寫對,不然就會報(bào)錯(cuò)
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

如果你忘了你的模板名稱可以安裝提示查看

scrapy genspider --list

pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

運(yùn)行scrapy

前面提到的啟動(dòng)scrapy需要在終端使用以下命令

scrapy crawl example # example是你的爬蟲名字,也就是類里面的name屬性

這么麻煩?我都用萬能的pycharm了就沒有簡單的辦法讓我運(yùn)行和斷點(diǎn)調(diào)試嗎?
我就能不能用右鍵運(yùn)行或調(diào)試?萬能的ctrl + shift + F10嗎?
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide
那肯定是可以的啊

在項(xiàng)目根目錄也就scrapy.cfg同一層,settings.py的上一層創(chuàng)建main.py(你想叫啥都行)文件寫入以下代碼

main.py

from scrapy.cmdline import execute
import os
import sys

if __name__ == '__main__':
    sys.path.append(os.path.dirname(os.path.abspath(__file__)))
    execute(['scrapy', 'crawl', 'example'])  # 把最后的參數(shù)換成你自己的爬蟲名字

pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

直接運(yùn)行該文件就可以運(yùn)行scrapy
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

運(yùn)行過一次后面就可以用CTRL + F5
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide

也可以使用DEBUG調(diào)試,可以看到已經(jīng)停在斷點(diǎn)處了
pycharm寫scrapy遇到的問題,爬蟲,bug,pycharm,scrapy,ide文章來源地址http://www.zghlxwxcb.cn/news/detail-621959.html

到了這里,關(guān)于pycharm寫scrapy遇到的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue 3 開發(fā)中遇到的問題及解決方案(fix bug)

    Vue 3 開發(fā)中遇到的問題及解決方案(fix bug)

    開發(fā)環(huán)境:mac系統(tǒng),node版本: 16.15.0 解決方案1 升級或降級(版本) 思路 Vue和pinia 版本不兼容;Vue 的版本為 “vue”: “^3.2.47”, pinia的版本為 “pinia”: “^2.0.36” 解決過程 升高pinia的版本 “pinia”: “^2.0.36”, ==》 “pinia”: “^2.0.36”, 先刪除pinia npm uni pinia 再重新安裝 y

    2024年02月04日
    瀏覽(26)
  • 解決問題:PyCharm / IDEA / JetBrains IDEs中 Github Copilot 插件無法使用對話/Chat功能

    解決問題:PyCharm / IDEA / JetBrains IDEs中 Github Copilot 插件無法使用對話/Chat功能

    在Pycharm里裝了Github Copilot 插件,但發(fā)現(xiàn)只能進(jìn)行代碼補(bǔ)全,沒法像ChatGPT一樣聊天,CSDN上搜了半天居然沒人提出這個(gè)問題,于是在Copilot的Github主頁上到處尋找答案。 發(fā)現(xiàn)這個(gè)功能目前還在內(nèi)測階段,如果想要使用的話, 需要先去官網(wǎng)申請加入等待隊(duì)列 ?。?! 官網(wǎng)地址如下

    2024年02月04日
    瀏覽(39)
  • 卸載pycharm時(shí)遇到問題:pycharm uninstall hasn‘t detected folder

    Pycharm Professional(2022.3.2)無法通過以下方式自行卸載: Windows設(shè)置卸載實(shí)用程序 在 C:Program FilesJetBrainsPyCharm 2022.3.2bin 中運(yùn)行uninstall.exe 這個(gè)問題是由于PyCharm安裝中丟失了一個(gè)文件造成的。請嘗試以下powershell命令在該位置創(chuàng)建一個(gè)具有適當(dāng)名稱的空文件: 用管理員權(quán)限打開

    2024年02月11日
    瀏覽(21)
  • Pycharm中安裝jupyter 以及一些會遇到的問題

    Pycharm中安裝jupyter 以及一些會遇到的問題

    1、確保電腦安裝了 anaconda 和jupyter notebook? 2、在命令行 啟動(dòng)jupyter Notebook (啟動(dòng)后不要關(guān)閉這個(gè)命令窗口) 命令:juputer Notebook 成功運(yùn)行后的網(wǎng)頁界面: ?3、打開Pycharm 創(chuàng)建新的項(xiàng)目 (注意是Conda) 4、 創(chuàng)建一個(gè)jupyter notebook的文件 5、 更改配置: 找到剛才 jupyter notebook 命令窗

    2024年02月06日
    瀏覽(30)
  • 當(dāng)在PyCharm控制臺中遇到中文亂碼問題時(shí),如何解決?

    當(dāng)在PyCharm控制臺中遇到中文亂碼問題時(shí),如何解決?

    解決辦法 : 中文亂碼問題通常源于編碼設(shè)置不正確或控制臺字體不支持中文字符集。以下是解決這個(gè)問題的一些步驟: 1. 更改編碼設(shè)置 確保您的Python文件中的字符編碼與您的控制臺編碼一致。在Python文件的開頭,可以添加以下注釋行,指定文件的編碼格式: 這將確保Pyth

    2024年02月06日
    瀏覽(26)
  • 通過Pycharm安裝包以及Matplotlib包安裝遇到的各種問題

    通過Pycharm安裝包以及Matplotlib包安裝遇到的各種問題

    提示: 在系統(tǒng)終端中安裝包(例如系統(tǒng)終端中通過pip安裝包),在Pycharm中是不能直接使用的。因此,推薦如下兩種方法安裝包,尤其推薦方法2。如果沒有Pycharm,Pycharm下載,選擇社區(qū)版就夠用了。Pycharm歷史版本下載。 第一步:打開pycharm軟件; 第二步:選擇菜單欄File →

    2024年02月06日
    瀏覽(29)
  • PyCharm搭建Scrapy環(huán)境

    PyCharm搭建Scrapy環(huán)境

    1.1、Scrapy簡介 Scrapy是一個(gè)基于Python的開源網(wǎng)絡(luò)爬蟲框架,用于從網(wǎng)頁中提取數(shù)據(jù)。它提供了一套高效、靈活和可擴(kuò)展的工具,可以幫助開發(fā)者快速構(gòu)建和部署爬蟲程序 Scrapy是一個(gè)由Python語言開發(fā)的適用爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)的Web應(yīng)用程序框架。主要用于數(shù)據(jù)挖掘、

    2024年02月07日
    瀏覽(5)
  • 什么是Python爬蟲分布式架構(gòu),可能遇到哪些問題,如何解決

    什么是Python爬蟲分布式架構(gòu),可能遇到哪些問題,如何解決

    目錄 什么是Python爬蟲分布式架構(gòu) 1. 調(diào)度中心(Scheduler): 2. 爬蟲節(jié)點(diǎn)(Crawler Node): 3. 數(shù)據(jù)存儲(Data Storage): 4. 反爬蟲處理(Anti-Scraping): 5. 分布式通信和協(xié)調(diào)(Communication and Coordination): Python爬蟲分布式架構(gòu)代碼示例 1. 調(diào)度中心(scheduler.py): 2. 爬蟲節(jié)點(diǎn)(crawl

    2024年02月10日
    瀏覽(21)
  • Python爬蟲:js逆向調(diào)式操作及調(diào)式中遇到debugger問題

    Python爬蟲:js逆向調(diào)式操作及調(diào)式中遇到debugger問題

    1. 前言 本篇博客主要講解js逆向調(diào)式操作及調(diào)式中遇到debugger問題,內(nèi)容參考自網(wǎng)上的一些視頻講解結(jié)合自己所做過的爬蟲測試,覺得小編總結(jié)的還不錯(cuò)的讀者記得點(diǎn)贊支持一下( 內(nèi)容僅供學(xué)習(xí)使用 )。 2. js逆向調(diào)式操作 2.1 DOM事件斷點(diǎn) 比如虎牙直播登錄操作,想快速找到找到

    2024年02月13日
    瀏覽(28)
  • 爬蟲:Scrapy熱門爬蟲框架介紹

    結(jié)合自身經(jīng)驗(yàn)和內(nèi)部資料總結(jié)的Python教程,每天3-5章,最短1個(gè)月就能全方位的完成Python的學(xué)習(xí)并進(jìn)行實(shí)戰(zhàn)開發(fā),學(xué)完了定能成為大佬!加油吧!卷起來! 全部文章請?jiān)L問專欄:《Python全棧教程(0基礎(chǔ))》 再推薦一下最近熱更的:《大廠測試高頻面試題詳解》 該專欄對近年

    2024年02月13日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包