上mysql
篇博客已經簡單的介紹了爬取數據流程,如今讓咱們繼續學習scrapysql
目標:數據庫
爬取愛卡汽車標題,價格以及圖片存入數據庫,並存圖到本地框架
好了很少說,讓咱們實現下效果scrapy
咱們仍用scrapy框架來編寫咱們的項目:ide
1.首先用命令建立一個爬蟲項目(結合上篇博客),併到你的項目裏如圖所示學習
2.先到你的settings.py中配置 ,這裏須要注意要 爬圖(配置一個爬圖管道 ImagesPipeline 爲系統中下載圖片的管道),url
同時還有存圖地址(在項目中建立一個爲images的文件夾),spa
存圖有多種方式,本人只是列舉其中一種,你們可採起不一樣的方法命令行
3.而後打開你的爬蟲文件(即:car.py)開始編寫你要爬取的數據,這裏須要注意,要將start_urls[] 改成咱們要爬取的Url 地址,而後根據xpath爬取圖片
(這裏代碼得本身寫,不要複製)
4.爬取的字段要跟 items.py裏的一致
5.在命令行輸入啓動爬蟲命令 scrapy crawl car 運行就能看到爬到圖片存放在本地以下
6.最後入庫,看你要入那個庫,這裏可入mysql和mongdb
mysql: 需提早創好庫以及表,表中字段
import pymysql # class NewcarPipeline(object): # 鏈接mysql改成你的用戶密碼以及本身的庫 # def __init__(self): # self.conn = pymysql.connect(host='127.0.0.1',user='root', password='123456', db='zou') # 創建cursor對象 # self.cursor = self.conn.cursor() # # 傳值 # def process_item(self, item, spider): # name = item['name'] # content = item['content'] # price = item['price'] # image = item['image_urls'] # # insert into 你的表名,括號裏面是你的字段要一一對應 # sql = "insert into zou(name,content,price) values(%s,%s,%s)" # self.cursor.execute(sql, (name,content,price)) # self.conn.commit() # return item #關閉爬蟲 # def close_spider(self, spider): # self.conn.close()
mongdb: 不用提早建好庫,表
from pymongo import MongoClient # class NewcarPipeline(object): # def open_spider(self, spider): # # 連端口 ip # self.con = MongoClient(host='127.0.0.1', port=27017) # # 庫 # db = self.con['p1'] # # 受權 # self.con = db.authenticate(name='wumeng', password='123456', source='admin') # # 集合 # self.coll = db[spider.name] # def process_item(self, item, spider): # # 添加數據 # self.coll.insert_one(dict(item)) # return item # def close_spider(self): # # 關閉 # self.con.close()
7.運行 啓動爬蟲命令 scrapy crawl car 就可在庫中看到數據.
至此爬蟲項目作完了,這只是一個簡單的爬蟲,僅供參考,如遇其餘方面的問題,可參考本人博客!盡情期待!