前言
在上一篇文章 https://blog.csdn.net/xHibiki/article/details/84134554 中,我们介绍了Mongo数据库以及管理工具Studio3T和adminMongo的下载安装,这次,我们结合
Python爬虫
和第三方模块Pymongo
,爬取政府网站:深圳市规划和国土资源委员会(市海洋局),来学习MongoDB数据库和管理工具的的使用方法.
文档型数据库
文档型数据库是一类非关系型数据库(NoSQL),MongoDB是其中的一种.区别于传统的数据库,它是用来管理文档。在传统的数据库中,信息被分割成离散的数据段,而在文档数据库中,文档是处理信息的基本单位。一文档可以很长、很复杂、可以无结构,与字处理文档类似。一个文档相当于关系数据库中的一条记录。
文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。
在使用前,除了安装MongoDB
和管理工具,另外还需要Pymongo
模块.
只要在命令行中输入:pip3 install pymongo
即可安装Pymongo库.
或者在File–Setting–Project–Project Interpreter中获取
爬取页面
深圳市规划和国土资源委员会(市海洋局)的公告公示:
随便点开一个公告公示的详细页面,
包含了以下部分:
1.标题 2.来源 3.日期 4.正文 5.附件链接(0个或1个)
因为公告公示都是由同一个模板生成的,所以比较好爬取.
完整爬虫代码
爬虫部分比较简单不再赘述.这里使用requests
和lxml
爬取,re
清洗数据,multiprocessing
实现多进程爬虫,共爬取了99页的数据,通过Pymongo
存放到MongoDB
中.
import requests
import re
from lxml import etree
import pymongo
import time
from multiprocessing import Pool
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
'AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/67.0.3396.79 Safari/537.36'
}
# MongoDB的连接
client = pymongo.MongoClient('localhost', 27017