1. 程式人生 > >scrapy抓取拉勾網職位信息(一)——scrapy初識及lagou爬蟲項目建立

scrapy抓取拉勾網職位信息(一)——scrapy初識及lagou爬蟲項目建立

報錯 中間鍵 方式 set 分享圖片 生成 pytho 薪酬 color

本次以scrapy抓取拉勾網職位信息作為scrapy學習的一個實戰演練

python版本:3.7.1

框架:scrapy(pip直接安裝可能會報錯,如果是vc++環境不滿足,建議直接安裝一個visual studio一勞永逸,如果報錯缺少前置依賴,就先安裝依賴)


本篇主要對scrapy生成爬蟲項目做一個基本的介紹

tips:在任意目錄打開cmd的方式可以使用下面這兩種方式

  • shift + 右鍵打開cmd(window10的powershell你可以簡單理解為cmd升級版)
  • 在路徑框直接輸入cmd,回車

技術分享圖片


1、建立一個scrapy項目

在cmd窗口中輸入:scrapy startproject lagou

,這樣就創建了一個項目文件夾,文件夾的名字是lagou

技術分享圖片


新生成一個scrapy項目,但是目前裏面還沒有一個爬蟲,用pycharm打開外層lagou文件夾看看

技術分享圖片


從結構可以看出生成的lagou項目文件夾裏面生成了一些新的文件夾和文件,

__init__.py:兩個文件內容都是空的,存在的唯一目的就是讓它所在的文件夾成為一個python包。

items.py:主要是用來定義要提取的字段的,比如我們要提取招聘職位的名稱,薪酬,都需要對字段進行定義

middlewares.py:中間件,包括spider middleware和downloader middleware,前者可以對請求進行修改(比如加入代理,設置UA都可以在這裏進行),後者可以對下載的頁面進行修改

pipelines.py:主要是用來進行數據清洗,存儲的

settings.py:爬蟲項目的全局配置,比如全局的UA,是否開啟middlewares中間鍵,設置延遲等


2、生成一個爬蟲(註意:一個項目文件夾下面可以有多個爬蟲)

首先進入到外層的lagou文件夾下

cd lagou

查看有哪些爬蟲模板命令:scrapy genspider -l

技術分享圖片

一般用的比較多是basic和crawl兩種,basic適合主頁比較簡單,url基本一致的情況,crawl適合有多種標簽類別的網站

針對拉勾網,這裏我們選用crawl模板生成爬蟲,爬蟲名稱是lagou_c,爬取的首頁url是lagou.com

scrapy genspider -t crawl lagou_c

lagou.com (-t crawl代表以crawl模板生成爬蟲,如果不加這個參數以basic模板生成的爬蟲scrapy genspider lagou_c lagou.com)

註意:爬蟲名稱一般設置為要爬取的url名稱,如lagou.com,設置為lagou為爬蟲名,但爬蟲名和項目名不能重復,我這裏修改爬蟲名為lagou_c

技術分享圖片

這樣我們就建立了一個名稱為lagou_c的爬蟲項目,再次用pycharm打開可以看到多了一個lagou_c.py文件,這個文件就是爬蟲的入口,它主要是用來產生新的請求和對返回的response進行解析。

技術分享圖片

scrapy抓取拉勾網職位信息(一)——scrapy初識及lagou爬蟲項目建立