使用python爬虫爬取法律条文,并存入MYSQL
一.代码展示
from urllib.request import urlopen
from bs4 import BeautifulSoup
import pymysqldef GetContent():# 发出请求,获取html# 这里使用《环境法》作为例子html = urlopen("https://www.mee.gov.cn/ywgz/fgbz/fl/201404/t20140425_271040.shtml")# 将其转化为字符串html_text = bytes.decode(html.read())# 使用BeautifulSoup选取需要的内容soup=BeautifulSoup(html_text,features="lxml")# 观察可知法律条文都在p标签中content=soup.findAll("p")return contentdef insert(content):db = pymysql.connect("localhost", "root", "****", "name")# 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()mainmsg="'"excmsg="'"for ind,i in enumerate(content):# 用最笨的方法检查# 求大佬指点if '章' not in i.text:if '第'and'条' in i.text:mainmsg="'"mainmsg+=i.textexcmsg="'"if '第'and'条' not in i.text:excmsg+=i.textif ind < len(content)-1:if '第'and'条' in content[ind+1].text:mainmsg+="'"excmsg+="'"sql="insert into 法条(main, extra) values("+mainmsg+","+excmsg+")"print(sql)try:# 执行sql语句cursor.execute(sql)# 提交到数据库执行db.commit()except:# 如果发生错误则回滚db.rollback()def main():content=GetContent()insert(content)if __name__=='__main__':main()
二.运行结果
三.主要问题
1)如何识别法条
使用BeautifulSoup美化后的content还是有很多赘余的内容
观察发现法条的格式基本为
第x条 ___第一句__
(__其他__)
第x+1条 ___第一句__
(__其他__)
....
于是可以想到使用if语句
大致思路:
首先排除标题也就是有“章”以及在第一条之前的内容
然后对法条:
如果第i条中有“第**条”那么这一条就是main
如果第i条中没有“第**条”那么这一条就是extra
如果第i+1条中有“第**条”那么这一段法条结束了
if '章' not in i.text:if '第'and'条' in i.text:mainmsg="'"mainmsg+=i.textexcmsg="'"if '第'and'条' not in i.text:excmsg+=i.textif ind < len(content)-1:if '第'and'条' in content[ind+1].text:mainmsg+="'"excmsg+="'"sql="insert into 法条(main, extra) values("+mainmsg+","+excmsg+")"
因此可以得到数据库格式:
使用main存放第一句,使用extra存放其他几句
这里可以优化一下,把“第**条”另开一列放,大致思路是
index=i.text.find("第")
first=i.text[:index]
second=i.text[index:]
但是我懒得写
∠( ᐛ 」∠)_
2)如何写入数据库
相比获取法条,将数据插入数据库较为简单
回想一下法条的格式
第**条 main
(extra)
第**+1条 main
(extra)
也就是说如果下一句中包含“第**条”就可以将当前条写入
sql="insert into 法条(main, extra) values("+mainmsg+","+excmsg+")"
try:# 执行sql语句cursor.execute(sql)# 提交到数据库执行db.commit()except:# 如果发生错误则回滚db.rollback()
***相比
使用python爬虫爬取法律条文,并存入MYSQL相关推荐
- python爬虫开发数据库设计入门经典_Python3实现的爬虫爬取数据并存入mysql数据库操作示例...
本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作.分享给大家供大家参考,具体如下: 爬一个电脑客户端的订单.罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chr ...
- python3爬取数据存入mysql_Python3爬虫爬取数据并存入mysql
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python爬虫爬取古诗词内容,并存入mysql
python爬虫爬取古诗词内容,并存入mysql 爬取结果展示: 代码如下: from urllib import request import re,os import pymysql import ...
- Python爬虫---爬取腾讯动漫全站漫画
Python爬虫---爬取腾讯动漫全站漫画 操作环境 网页分析 明确目标 提取漫画地址 提取漫画章节地址 提取漫画图片 编写代码 导入需要的模块 获取漫画地址 提取漫画的内容页 提取章节名 获取漫画源 ...
- Python爬虫 爬取豆瓣电影TOP250
Python爬虫 爬取豆瓣电影TOP250 最近在b站上学习了一下python的爬虫,实践爬取豆瓣的电影top250,现在对这两天的学习进行一下总结 主要分为三步: 爬取豆瓣top250的网页,并通过 ...
- python爬虫爬取《斗破苍穹》小说全文
网络爬虫的入门学习:python爬虫爬取小说全文 python爬虫首先导入基本爬虫库requests:import requests,安装命令pip install requests,使用pychar ...
- Python爬虫爬取链家网上的房源信息练习
一 原链接:用Python爬虫爬取链家网上的房源信息_shayebuhui_a的博客-CSDN博客_python爬取链家 打开链家网页:https://sh.lianjia.com/zufang/ ...
- python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二)
上一章: python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一.爬虫思路及代码) 第三步:数据清洗 清洗数据很简单,就是数据太乱的话,就得花些时间,所以一定要有一个好的方法,才能避免在清洗数据 ...
- 在当当买了python怎么下载源代码-python爬虫爬取当当网
[实例简介]python爬虫爬取当当网 [实例截图] [核心代码] ''' Function: 当当网图书爬虫 Author: Charles 微信公众号: Charles的皮卡丘 ''' impor ...
最新文章
- LeetCode 1:Two Sum
- 深入理解linux文件系统( 理解inode与block,理解硬链接软链接,掌握恢复误删文件及其分析方法,掌握用户日志及其查询命令 )
- Java-逻辑运算符、位运算符
- Arduino笔记-定时器中断(MsTimer2库使用)
- python标准库sys_Python——标准库 Sys模块
- [PHP] 日期与时间
- OpenSatck Ironic实现裸机管理
- 6个面的骰子 标上1 2 3 4 5 6 投掷8次 求出现和的概率最大的数 ,就是这8次的和最有可能是多少...
- Bailian2929 扩号匹配【堆栈】
- hihocoder-13892016北京网赛07 Sewage Treatment(二分+网络流)
- 项目开发 —— 一页纸项目管理(OPPM)
- 人工智能、机器学习、神经网络、深度学习之间的关系
- ip地址自动获取背后的机制(udhcpc)
- [重要]宝塔面板Linux7.4.3/Windows6.8紧急更新
- vue 后台管理系统富文本组件(四)UEditor(集成 135 编辑器插件)
- 内存卡数据被格式化如何恢复?
- iOS 一个功能很全的视频播放器
- 解决MAC删除应用程序后依然残留的图标
- 消息队列 | java简单实现
- matlab公式上为什么会有问号,MathType公式显示问号怎么解决