Ubuntu16.04下Scrapy環境的搭建
一、Scrapy簡介與部署環境
Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的第三方爬蟲框架。 可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。
最初是為了頁面抓取 (更確切來說, 網絡抓取 )所設計的, 也可以應用在獲取API所返回的數據(例如 Amazon Associates Web Services ) 或者通用的網絡爬蟲。Scrapy用途廣泛,可以用於數據挖掘、監測和自動化測試
本次環境搭建基於Ubuntu 16.04 TLS x64系統,python 2.7.12
二、安裝scrpay框架
主要基於pip 進行安裝 pip沒有安裝的先安裝pip,可參考這裏http://dyc2005.blog.51cto.com/270872/1940870 就不再詳述了。
安裝scrapy
#sudo apt-get install libssl-dev #依賴組件 #pip install pyopenssl --upgrade pip install scrapy -i http://pypi.douban.com #用國內源安裝
安裝完成查看版本如下:
說明scrapy 1.4.0已經安裝完成。
三、一個基礎的scrapy項目應用
基於scrapy爬取糗事百科的糗圖源文件,並分析出圖片地址。
1、切換目錄到家目錄下創建TestSpider
#scrapy startproject TestSpider
如圖:
使用pycharm打開TestSpider
2、目錄結構與說明:
目錄結構如圖:
結構說明:
TestSpider 項目的外殼
TestSpider 項目目錄
Spiders 爬蟲編寫目錄
__init__.py 包文件
__init__.py 包文件
item.py 數據模型文件
middlewares.py 中間件文件 proxy 代理ip
pipelines.py 數據輸出管道文件
settings.py 項目的配置文件
scrapy.cfg scapy 的配置文件
3、爬取糗事百科的糗圖
確定爬取的內容:
https://www.qiushibaike.com/
https://www.qiushibaike.com/pic/
4、 修改
settings.py文件去掉註釋加上如下內容,如圖:
User-Agent:就是你訪問糗事百科時的請求頭內容。復制到這裏。
5、確定數據模型
配置item.py文件如圖:
其中img定義爬到到的圖片字段
lable是圖片的標題字段
6、爬蟲代碼
到spiders目錄創建qiushiSpider.py
#coding:utf-8 import scrapy class QiuShiScrapy(scrapy.spiders.Spider): name = "qiushi_img" #爬蟲的標識 allowed_domains = ["https://www.qiushibaike.com"] start_urls = ["https://www.qiushibaike.com/pic/"] #開始爬取的鏈接 """ ##1,簡單保存爬取的源文件 def parse(self,response): #當服務器進行響應的時候,首先返回到這裏scrapy就會調用這個方法,並把響應的內容傳遞給第一個參數即response with open("1.txt","w") as f: f.write(response.body) #爬取的結果寫到1.txt """ ###2,獲取並提取圖片url def parse(self, response): img_list = response.xpath("//img") with open("1.txt", "w") as f: for img in img_list: # f.write(img.extract().encode("utf-8") + "\n") src = img.xpath("@src") content = src.extract() if content: f.write(content[0].encode("utf-8") + "\n")
切換到命令行
san@yongc-dong:~/TestSpider$ scrapy list
qiushi_img
此時會看到上面寫的爬蟲標識名 qiushi_img
命令行下執行爬蟲
san@yongc-dong:~/TestSpider$ scrapy crawl qiushi_img
結果類似如下圖:
此時生成1.txt內容類似:
//pic.qiushibaike.com/system/avtnew/1240/12405295/medium/20170630013041.JPEG //pic.qiushibaike.com/system/pictures/11968/119682883/medium/app119682883.jpg //pic.qiushibaike.com/system/avtnew/3114/31145101/medium/20170916180203.JPEG //pic.qiushibaike.com/system/pictures/11968/119682882/medium/app119682882.jpg //pic.qiushibaike.com/system/avtnew/3114/31145101/medium/20170916180203.JPEG //pic.qiushibaike.com/system/pictures/11968/119682878/medium/app119682878.jpg //pic.qiushibaike.com/system/avtnew/3440/34405509/medium/nopic.jpg //pic.qiushibaike.com/system/pictures/11968/119682886/medium/app119682886.jpg .....省略部分
本文只是拋磚引玉的簡單介紹一個基本的爬蟲過程。
都是基於命令行下操作,不是很方便。能否添加到pycharm中調式?
四、添加加scrapy調式到pycharm中
在TestSpider項目外層目錄創建run.py內容如下:
#coding:utf-8 from scrapy import cmdline cmdline.execute("scrapy crawl qiushi_img".split())
點菜單欄中的"run" --> "Edit Configurations" 如圖:
點"+" -->"python"
如圖:
Name:"Unamed"這是默認可不修改,Script:選擇run.py所在目錄和 Working directory:的項目目錄
此是就像其他項目一樣可以點運行即可在pycharm中運行spider
如圖:
一個scrapy框架的搭建和基本的爬蟲與pycharm的環境部署完成。沒有涉及到內容的存儲。後續再說明。
本文出自 “學無止境,學以致用” 博客,請務必保留此出處http://dyc2005.blog.51cto.com/270872/1975479
Ubuntu16.04下Scrapy環境的搭建