您好,登錄后才能下訂單哦!
Python中怎么實現一個scrapy爬蟲,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
JAP君在前面也是寫過一些小爬蟲的,其實那些都是爬蟲文件。在學習scrapy之前我們得弄清楚爬蟲文件和爬蟲項目的區別,其實也非常容易理解,爬蟲文件顧名思義就是單個的文件來寫的爬蟲,爬蟲項目顧名思義就是一個大型的爬蟲畢竟都稱之為項目了,我們大家都知道項目是不可能只有單個文件的,它是由許多的文件組成并且每個文件之間有著很大的關聯。
scrapy就是這么一個寫爬蟲項目的框架,怎么去玩它呢?今天JAP君帶著大家一步一步來。
其實安裝scrapy特別的簡單,就一句話的事。首先同時按windows鍵+R,然后輸入cmd,最后在cmd中輸入pip install scrapy .
由于JAP君用的是windows10開發只要這么簡單幾步就行了,但是JAP君從網絡上也了解到其他的系統安裝也有許多坑,但是win10安裝也可能有坑,當然有坑的話可以加我們討論群進行解決。
可是很多朋友還是不知道到底有沒有安裝成功,這時你仍然在cmd窗口輸入scrapy命令,若有如下圖的反應,那么恭喜你安裝成功,可以好好玩耍了
我們把scrapy安裝成功后,該怎么去用了?沒啥感覺啊!接下來我們就正式開始接觸scrapy了!
其實我們的scrapy的操作都是通過命令行來進行的,有些什么命令呢?
1.scrapy -h (查看所有命令)
從這里我們可以看到scrapy的大部分命令,例如上面的version,我們就可以如下圖輸入:
2.scrapy startproject spider_name (創建一個項目工程)
這里我要說明一下,我們使用這個命令之前需要切換到我們自己建的一個文件夾里,然后再輸入這串命令,就會在相應的文件夾中創建這個工程。
大家可以看我的命令輸入,我首先是切換到我自己創建的scrapydemo的文件夾中,然后輸入 scrapy startproject ceshi1 ,這個ceshi1是大家自己定義的。
3.scrapy genspider name domain (構建爬蟲)
估計大家對domain有點懵逼,domain就是你想要爬取的域名,先來看一下一個例子吧。
大家會注意到,我使用這個命令是在我們的項目目錄里面,因為我們是要在這個項目里面去構建這個爬蟲,首先ceshi是我們自己定義的名字,baidu.com是我們要爬取的域名,大家這里估計又會疑惑為啥不是http://www.baidu.com?其實http這個東西是協議,而www是屬于萬維網也不是域名的一部分,所以這里我們直接輸入baidu.com即可。
至于這串代碼的具體體現,下面我會說的。
4.scrapy crawl name (運行爬蟲,帶log日志)和
scrapy crawl name --nolog (運行爬蟲,不帶log日志)
這個命令咱們到后面來解釋,因為這個需要我們去寫一個簡單的爬蟲,大家只要記住運行爬蟲就用它兩。
通過上面的命令scrapy startproject ceshi1 我們成功的建立了第一個scrapy爬蟲項目,我們來看看到底有些啥?
ceshi1文件夾就是和我們創建是輸入的名字是相同的
scrapy.cfg:爬蟲項目的配置文件
我們在深入一下ceshi1文件夾
第一個文件夾:不必多說,一個緩存文件夾
第二個文件夾:就是我們爬蟲的代碼所在地
__init__.py:爬蟲項目的初始化文件,用來對項目做初始化工作。
items.py:爬蟲項目的數據容器文件,用來定義要獲取的數據。
pipelines.py:爬蟲項目的管道文件,用來對items中的數據進行進一步的加工處理。
settings.py:爬蟲項目的設置文件,包含了爬蟲項目的設置信息。
middlewares.py:爬蟲項目的中間件文件
然后我們再次深入spiders文件夾
在這里我們發現了我們之前通過scrapy genspider ceshi baidu.com所生成的ceshi.py的文件。
其實這個項目我們可以用pycharm進行打開并且可以用pycharm進行編寫項目,下次帶大家實戰一個項目的時候會看到的。
關于Python中怎么實現一個scrapy爬蟲問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。