Python爬虫 获取政府网站公示数据并保存到MongoDB数据库

前言

在上一篇文章 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个)
因为公告公示都是由同一个模板生成的,所以比较好爬取.

完整爬虫代码

爬虫部分比较简单不再赘述.这里使用requestslxml爬取,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
  • 7
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值