在上一章基础上新建一个zhuanti2的Scrapy项目,用MongoDB来存储,其他信息不变。
1.items.py不变
2.zhuanti2spider.py:相关内容改成zhuanti2。
3.pipelines.py内容如下:
import pymongo
class Zhuanti2Pipeline(object):
def __init__(self):
client = pymongo.MongoClient('localhost',27017)
mydb = client['mydb']
zhuanti = mydb['zhuanti']
self.post = zhuanti ##连接数据库
def process_item(self, item, spider):
info = dict(item)
self.post.insert(info) ##插入数据库
return item
4.setttings.py文件
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3294.6 Safari/537.36' #请求头
DOWNLOAD_DELAY = 0.5 #睡眠时间0.5秒
ITEM_PIPELINES = {
'zhuanti2.pipelines.Zhuanti2Pipeline': 300,
}
其他不变,运行scrapy crawl zhuanti2即可在MongoDB中得到结果。