scrapy抓取拉勾網職位信息(一)——scrapy初識及lagou爬蟲項目建立
本次以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
新生成一個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
註意:爬蟲名稱一般設置為要爬取的url名稱,如lagou.com,設置為lagou為爬蟲名,但爬蟲名和項目名不能重復,我這裏修改爬蟲名為lagou_c
這樣我們就建立了一個名稱為lagou_c的爬蟲項目,再次用pycharm打開可以看到多了一個lagou_c.py文件,這個文件就是爬蟲的入口,它主要是用來產生新的請求和對返回的response進行解析。
scrapy抓取拉勾網職位信息(一)——scrapy初識及lagou爬蟲項目建立