溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)

發(fā)布時(shí)間:2021-07-05 16:01:31 來(lái)源:億速云 閱讀:173 作者:Leah 欄目:大數(shù)據(jù)

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng),針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。


    JAP君在前面也是寫(xiě)過(guò)一些小爬蟲(chóng)的,其實(shí)那些都是爬蟲(chóng)文件。在學(xué)習(xí)scrapy之前我們得弄清楚爬蟲(chóng)文件和爬蟲(chóng)項(xiàng)目的區(qū)別,其實(shí)也非常容易理解,爬蟲(chóng)文件顧名思義就是單個(gè)的文件來(lái)寫(xiě)的爬蟲(chóng),爬蟲(chóng)項(xiàng)目顧名思義就是一個(gè)大型的爬蟲(chóng)畢竟都稱(chēng)之為項(xiàng)目了,我們大家都知道項(xiàng)目是不可能只有單個(gè)文件的,它是由許多的文件組成并且每個(gè)文件之間有著很大的關(guān)聯(lián)。

    scrapy就是這么一個(gè)寫(xiě)爬蟲(chóng)項(xiàng)目的框架,怎么去玩它呢?今天JAP君帶著大家一步一步來(lái)。

2
打仗首先得要有武器---scrapy框架的安裝

        其實(shí)安裝scrapy特別的簡(jiǎn)單,就一句話的事。首先同時(shí)按windows鍵+R,然后輸入cmd,最后在cmd中輸入pip install scrapy .

        由于JAP君用的是windows10開(kāi)發(fā)只要這么簡(jiǎn)單幾步就行了,但是JAP君從網(wǎng)絡(luò)上也了解到其他的系統(tǒng)安裝也有許多坑,但是win10安裝也可能有坑,當(dāng)然有坑的話可以加我們討論群進(jìn)行解決。

         可是很多朋友還是不知道到底有沒(méi)有安裝成功,這時(shí)你仍然在cmd窗口輸入scrapy命令,若有如下圖的反應(yīng),那么恭喜你安裝成功,可以好好玩耍了

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)

3
有了武器要知道怎么用它---scrapy的常用指令

       我們把scrapy安裝成功后,該怎么去用了?沒(méi)啥感覺(jué)啊!接下來(lái)我們就正式開(kāi)始接觸scrapy了!

       其實(shí)我們的scrapy的操作都是通過(guò)命令行來(lái)進(jìn)行的,有些什么命令呢?

1.scrapy -h         (查看所有命令)

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)

從這里我們可以看到scrapy的大部分命令,例如上面的version,我們就可以如下圖輸入:

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)

2.scrapy startproject spider_name     (創(chuàng)建一個(gè)項(xiàng)目工程)

       這里我要說(shuō)明一下,我們使用這個(gè)命令之前需要切換到我們自己建的一個(gè)文件夾里,然后再輸入這串命令,就會(huì)在相應(yīng)的文件夾中創(chuàng)建這個(gè)工程。

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)

      大家可以看我的命令輸入,我首先是切換到我自己創(chuàng)建的scrapydemo的文件夾中,然后輸入 scrapy startproject  ceshi1   ,這個(gè)ceshi1是大家自己定義的。

3.scrapy genspider name  domain    (構(gòu)建爬蟲(chóng))

      估計(jì)大家對(duì)domain有點(diǎn)懵逼,domain就是你想要爬取的域名,先來(lái)看一下一個(gè)例子吧。

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)

      大家會(huì)注意到,我使用這個(gè)命令是在我們的項(xiàng)目目錄里面,因?yàn)槲覀兪且谶@個(gè)項(xiàng)目里面去構(gòu)建這個(gè)爬蟲(chóng),首先ceshi是我們自己定義的名字,baidu.com是我們要爬取的域名,大家這里估計(jì)又會(huì)疑惑為啥不是http://www.baidu.com?其實(shí)http這個(gè)東西是協(xié)議,而www是屬于萬(wàn)維網(wǎng)也不是域名的一部分,所以這里我們直接輸入baidu.com即可。

     至于這串代碼的具體體現(xiàn),下面我會(huì)說(shuō)的。

4.scrapy crawl name  (運(yùn)行爬蟲(chóng),帶log日志)

scrapy crawl name --nolog (運(yùn)行爬蟲(chóng),不帶log日志)

這個(gè)命令咱們到后面來(lái)解釋?zhuān)驗(yàn)檫@個(gè)需要我們?nèi)?xiě)一個(gè)簡(jiǎn)單的爬蟲(chóng),大家只要記住運(yùn)行爬蟲(chóng)就用它兩。

4
創(chuàng)建項(xiàng)目之后是個(gè)啥樣呢?

通過(guò)上面的命令scrapy startproject ceshi1 我們成功的建立了第一個(gè)scrapy爬蟲(chóng)項(xiàng)目,我們來(lái)看看到底有些啥?

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)

ceshi1文件夾就是和我們創(chuàng)建是輸入的名字是相同的

scrapy.cfg:爬蟲(chóng)項(xiàng)目的配置文件

我們?cè)谏钊胍幌耤eshi1文件夾

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)

第一個(gè)文件夾:不必多說(shuō),一個(gè)緩存文件夾

第二個(gè)文件夾:就是我們爬蟲(chóng)的代碼所在地

__init__.py:爬蟲(chóng)項(xiàng)目的初始化文件,用來(lái)對(duì)項(xiàng)目做初始化工作。

items.py:爬蟲(chóng)項(xiàng)目的數(shù)據(jù)容器文件,用來(lái)定義要獲取的數(shù)據(jù)。

pipelines.py:爬蟲(chóng)項(xiàng)目的管道文件,用來(lái)對(duì)items中的數(shù)據(jù)進(jìn)行進(jìn)一步的加工處理。

settings.py:爬蟲(chóng)項(xiàng)目的設(shè)置文件,包含了爬蟲(chóng)項(xiàng)目的設(shè)置信息。

middlewares.py:爬蟲(chóng)項(xiàng)目的中間件文件

然后我們?cè)俅紊钊雜piders文件夾

Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)

      在這里我們發(fā)現(xiàn)了我們之前通過(guò)scrapy genspider ceshi baidu.com所生成的ceshi.py的文件。

       其實(shí)這個(gè)項(xiàng)目我們可以用pycharm進(jìn)行打開(kāi)并且可以用pycharm進(jìn)行編寫(xiě)項(xiàng)目,下次帶大家實(shí)戰(zhàn)一個(gè)項(xiàng)目的時(shí)候會(huì)看到的。


關(guān)于Python中怎么實(shí)現(xiàn)一個(gè)scrapy爬蟲(chóng)問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI