前段時間學python學完了基礎的知識當然是要來點實際的東西玩玩了。爬蟲,這個對於python再適合不過,今天就先來爬一個電影網站,下一篇我們來爬美女圖片,這篇就做為一個爬蟲基礎練練手。將他有的資源資訊爬下來儲存成一個csv檔案。
序
環境 mac python3.6.1 pycharm
Step1
預設scrapy的環境是安裝好的。我們在終端裡輸入scrapy startproject 工程名
新建一個爬蟲專案,scrapy會為我們初始化一個基本結構如下圖:
Step2
在items.py中建立我們的實體類:
分別為“封面”、“電影名”、“評分”、“型別” 該實體類會在後面提交資料時scrapy進行寫入需要用到的,總之呢。你需要存什麼資料就寫對應欄位,後面儲存檔案後你就明白了Step3
現在可以開始寫我們爬蟲的邏輯了
如Step1我們在spiders
資料夾下新建一個Index97Index.py
再新建類Id97Movie
繼承CrawlSpider
如下:
name
為我們啟動專案的名字
host
主要為後面做一些拼接
allowed_domains
主域名
start_urls
需要請求爬的初始urls
從原始碼可以看到name
和start_urls
是必要的引數,並且一開始的請求是迴圈start_urls,所以一定不能忘記,名字也不能定義。
Step4
覆寫parse
方法
- 根據chrome中檢視到每個item內容都在紅框中這個標籤內,我們可以右鍵選擇copy xpath(xpath知識可以google兩分鐘就會)進行xpath選取
- 獲取下一頁url,同樣找到下一頁的xpath。這裡我是把最下面的"上一頁,下一頁 頁碼"都拿來。因為下一頁這個標籤總在倒數第二個就可以使用
pages[-2]
獲取下一頁的url for
迴圈處理每個列表列的內容使用parse_item
方法處理- 最後
yield Request(nextPageUrl, callback=self.parse)
再次請求下一頁的內容,依然使用parse方法處理這樣迴圈直到最後一頁 parse_item程式碼:
Step5
設定settings.py
我們需要一個存放路徑及格式
Step6
到該專案的目錄下在終端執行scrapy crawl name(step3中所說的name='id97')
,也可將命令直接放在python檔案中進行執行
至此這個爬蟲就基本結束了。settings.py
中還有一些優化配置網上還是比較多的。可以自行配置試試看
原始碼: 原始碼地址