链接:https://pan.baidu.com/s/1LaRfZspqzYXsm5XjbsSXwQ 提取码:5210
插件下载:DatabaseTools
链接:https://pan.baidu.com/s/13csVBHGVm0uMKsnhURWVuA 提取码:5210
mongo Plugin
链接:https://pan.baidu.com/s/19QyBfKVIA5aRluCY2XNFrQ 提取码:5210
链接:https://pan.baidu.com/s/1CwVEs-UfdNbFpobnx9vM8w 提取码:5210
链接:https://pan.baidu.com/s/1N1TrhoRDgqTmgQlrY6CUXg 提取码:5210
1. 在根目录中创建mongo.conf文件:复制以下内容
dbpath=E:\mongodb\data #数据库路径 (自己创建的路径!!!) logpath=E:\mongodb\logs\mongo.log #日志输出文件路径 (自己创建的路径!!!) logappend=true #错误日志采用追加模式 journal=true #启用日志文件,默认启用 quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false port=27017 #端口号 默认为27017
2.将mongodb命令加入到环境变量中:
# F:\SoftWares\mongodb-3.4.21\bin 右键计算机 => 属性 => 高级系统设置 => 环境变量 => 系统变量中path尾部添加
3.依次运行一下命令:(管理员权限打开CMD!!!)
# 此时浏览器访问: 127.0.0.1:27017 出现下面内容,证明成功!!! # It looks like you are trying to access MongoDB over HTTP on the native driver port. mongod --config "F:\SoftWares\mongodb-3.4.21\mongo.conf"
# 将MongoDB服务添加到电脑系统中:(service.msc 命令可打开服务找到对应的名字) mongod --config "F:\SoftWares\mongodb-3.4.21\mongo.conf" --install --serviceName "mongodb" # mongodb为添加的服务名字
# 接着就是服务的开启和停止:开启后即可连接该数据库,亦可通过127.0.0.1:27017访问页面 net start mongodb # 开启mongodb服务 net stop mongodb # 停止mongodb服务
4. mongodb配置完成~~~
链接:https://pan.baidu.com/s/1DsVtd2_ivsqwLViJ_if_aQ 提取码:5210
爬取的数据可以通过该博客开发接口: node接口和mongodb搭配写接口
1.安装插件python mongodb驱动,scrapy爬虫插件
pip install scrapy pip install pymongo
2.创建蜘蛛项目
scrapy startproject ExportIntoMongodb
3.自定义要爬取的字段:items.py
import scrapy class ExportintomongodbItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() tag = scrapy.Field() # 标签 content = scrapy.Field() # 名言内容 author = scrapy.Field() # 作者 pass
4. 编写pipeline.py
import pymongo # 链接mongodbd插件 class ExportintomongodbPipeline: # 初始函数 def __init__(self): # 链接数据库 client = pymongo.MongoClient('127.0.0.1', 27017) # 创建链接 # 连接所需数据库名 db = client['MingYanSpider'] # 连接对应的库表 self.post = db['mingyan'] def process_item(self, item, spider): postItem = dict(item) # 转化为字典形式 self.post.insert(postItem) # 向表中插入一条数据 return item # 可以输出到控制台,可以不写
5. 设置相关属性值settings.py
ITEM_PIPELINES = { 'exportIntoMongodb.pipelines.ExportintomongodbPipeline': 300, }
6.爬虫核心代码:exportInto.py
# -*- coding: utf-8 -*- import scrapy # 导入核心 from exportIntoMongodb.items import ExportintomongodbItem # 导入要查询的参数 class Intomongodbspider(scrapy.Spider): name = 'Intomongodbspider' # 爬虫名字 allowed_domains = ["lab.scrapyd.cn"] start_urls = ['http://lab.scrapyd.cn/'] ''' 定义函数:取到需要的文字 ''' def parse(self, response, **kwargs): sayings = response.css('div.quote') # 取到整页的名言盒子 item = ExportintomongodbItem() # 实例化Item类 # 提取名言 for v in sayings: item['content'] = v.css('.text::text').extract_first() # 提取名言内容 item['author'] = v.css('.quote.post span small::text').extract_first() # 提取名言内容 tag = v.css('.tags .tag::text').extract() # 提取到标签数组 item['tag'] = ','.join(tag) if len(tag) > 0 else '暂无标签' yield item # 把取到的内容提交到pipline处理 # css选择器提取下一页链接 next_page = response.css('li.next a::attr(href)').extract_first() # 提取到下一页链接 if next_page is not None: next_page = response.urljoin(next_page) yield scrapy.Request(next_page, callback=self.parse)
7.运行爬虫爬取数据
scrapy crawl Intomongodbspider
8.结束爬虫简单项目的开发