上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 就可在库中看到数据.
至此爬虫项目作完了,这只是一个简单的爬虫,仅供参考,如遇其余方面的问题,可参考本人博客!尽情期待!