前段時間學(xué)python學(xué)完了基礎(chǔ)的知識當(dāng)然是要來點實際的東西玩玩了揭糕。爬蟲鹦付,這個對于python再適合不過,今天就先來爬一個電影網(wǎng)站卿拴,下一篇我們來爬美女圖片,這篇就做為一個爬蟲基礎(chǔ)練練手梨与。將他有的資源信息爬下來保存成一個csv文件堕花。
序
環(huán)境 mac python3.6.1 pycharm
Step1
默認(rèn)scrapy的環(huán)境是安裝好的。我們在終端里輸入scrapy startproject 工程名
新建一個爬蟲項目粥鞋,scrapy會為我們初始化一個基本結(jié)構(gòu)如下圖:
其中Id97Index.py是我們編寫邏輯的文件缘挽,也是我們自己建的。除此之外都會在新建項目時生成呻粹。
Step2
在items.py中創(chuàng)建我們的實體類:
分別為“封面”壕曼、“電影名”、“評分”等浊、“類型”
該實體類會在后面提交數(shù)據(jù)時scrapy進行寫入需要用到的腮郊,總之呢。你需要存什么數(shù)據(jù)就寫對應(yīng)字段筹燕,后面保存文件后你就明白了
Step3
現(xiàn)在可以開始寫我們爬蟲的邏輯了
如Step1我們在spiders
文件夾下新建一個Index97Index.py
再新建類Id97Movie
繼承CrawlSpider
如下:
其中
name
為我們啟動項目的名字host
主要為后面做一些拼接allowed_domains
主域名start_urls
需要請求爬的初始urls
從源碼可以看到name
和start_urls
是必要的參數(shù)轧飞,并且一開始的請求是循環(huán)start_urls,所以一定不能忘記庄萎,名字也不能定義踪少。
Step4
覆寫parse
方法
- 根據(jù)chrome中查看到每個item內(nèi)容都在紅框中這個標(biāo)簽內(nèi)塘安,我們可以右鍵選擇copy xpath(xpath知識可以google兩分鐘就會)進行xpath選取
- 獲取下一頁url糠涛,同樣找到下一頁的xpath。這里我是把最下面的"上一頁兼犯,下一頁 頁碼"都拿來忍捡。因為下一頁這個標(biāo)簽總在倒數(shù)第二個就可以使用
pages[-2]
獲取下一頁的url -
for
循環(huán)處理每個列表列的內(nèi)容使用parse_item
方法處理 - 最后
yield Request(nextPageUrl, callback=self.parse)
再次請求下一頁的內(nèi)容,依然使用parse方法處理這樣循環(huán)直到最后一頁
parse_item代碼:
image.png
Step5
設(shè)置settings.py
我們需要一個存放路徑及格式
Step6
到該項目的目錄下在終端執(zhí)行scrapy crawl name(step3中所說的name='id97')
切黔,也可將命令直接放在python文件中進行執(zhí)行
至此這個爬蟲就基本結(jié)束了砸脊。settings.py
中還有一些優(yōu)化配置網(wǎng)上還是比較多的∥诚迹可以自行配置試試看
源代碼:https://github.com/EasonHolmes/Spider_Movie