当前位置:网站首页>爬取国家法律法规数据库
爬取国家法律法规数据库
2022-06-27 17:31:00 【墨子】
Part1实验目的
现如今大数据时代已经到来,网络爬虫技术成为这个时代不可或缺的一部分。爬虫的目标对象也很丰富,不论是文字、图片、视频,任何结构化非结构化的数据爬虫都可以爬取。企业需要数据来分析用户行为,来分析自己产品的不足之处,来分析竞争对手的信息等等。个人通过Spyder爬虫软件,爬取我们所需要的信息,我们可以通过爬虫提前获取一些信息,如:我们可以通过爬虫进行抢票,抢课,获取考研调剂信息等等。本文以爬取国家法律法规的数据库数据为例。
本文作者:江西农业大学 经济管理学院 金融1903傅艳
Part2实验步骤
1观察网页
通过观察网页发现,进入法律法规条文,网址没有发生变化,说名该网页是动态网页。


2请求网页
我们在浏览器右键点击“检查”,点击“网络”,在出现的界面中选择“Fetch/XHR”按钮,并刷新页面。通过Ctrl+F查找到有关内容,点击出现的链接,我们点击“预览”,发现了我们需要的标题、制定机关、法律性质、时效性、公布日期等信息都在这里,点击“标头”则可以看到网页地址的真实地址。 

3尝试获取第一页的信息
使用requests请求数据库,请求方法是get,


我们查看“标头”发现请求方法为get请求,查看“负载”并点击,即为get请求的参数。Request请求代码如下:
import requests
items=[]
url='https://flk.npc.gov.cn/api/?type=flfg&xlwj=05&searchType=title%3Baccurate&sortTr=f_bbrq_s%3Bdesc&gbrqStart=&gbrqEnd=&sxrqStart=&sxrqEnd=&sort=true&page=1&size=10&_=1654157294070'
r=requests.get(url)
4解析数据,存储数据
由于网页返回的是json格式数据,获取我们需要的标题、制定机关、法律性质、时效性、公布日期,我们通过字典访问即可。其中每条法规的网页链接如何拿到?我们点击第一条法规,发现其网址后缀存储在url里,就可以拿到法规详细界面的完整链接。


先嵌入字典解析库,通过访问字典,一层一层将数据提取得到一页的所有信息,编辑代码:
json=r.json()
pagelist=json['result']['data']
office=page['office']
title=page['title']
type=page['type']
date=page['publish']
page=[url]
5通过循环,爬取所有页面的法规数据
翻页爬取的关键是找到真实地址的“翻页”规律。我们分别点击第1页、第2页、第3页,发现不同页码的除了page参数不一致,其余相同。第1页的“page”是1,第2页的“page”是2,第2页的“page”是2,以此类推。 
我们嵌套一个For循环,并通过pandas as pd存储数据。运行代码让其自动爬取1-11的法规信息,并储存在666661.csv的文件中,所有代码如下:
items=[]
url='https://flk.npc.gov.cn/api/?type=flfg&xlwj=05&searchType=title%3Baccurate&sortTr=f_bbrq_s%3Bdesc&gbrqStart=&gbrqEnd=&sxrqStart=&sxrqEnd=&sort=true&page=1&size=10&_=1654157294070'
for i in range(1,11):
form_data={'page': 1,
'size': 10}
r=requests.get(url)
json=r.json()
pagelist=json['result']['data']
for page in pagelist:
office=page['office']
title=page['title']
type=page['type']
date=page['publish']
page=[url]
item=[title,office,type,date,page]
items.append(item)
import pandas as pd
df=pd.DataFrame(items)
df.to_csv('666661.csv',encoding='utf-8-sig')
最后,得到爬取的数据结果如下:

边栏推荐
- Jinyuan's high-end IPO was terminated: it was planned to raise 750million Rushan assets and Liyang industrial investment were shareholders
- 实战回忆录:从Webshell开始突破边界
- Technology sharing | introduction to kubernetes pod
- Recommend several open source IOT platforms
- MFS分布式文件系统
- 原创 | 2025实现“5个1”奋斗目标!解放动力全系自主非道路国四产品正式发布
- 基于STM32F103ZET6库函数外部中断实验
- 数据分析师太火?月入3W?用数据告诉你这个行业的真实情况
- 【云驻共创】高校数字化差旅建设“解决之道”
- 网上期货开户安全么?
猜你喜欢

利用OpenCV执行相机校准

Two methods of MySQL database login and logout

脉脉热帖:为啥大厂都热衷于造轮子?

A simple calculation method of vanishing point

xctf攻防世界 MISC薪手进阶区

Jinyuan's high-end IPO was terminated: it was planned to raise 750million Rushan assets and Liyang industrial investment were shareholders

Row to column and column to row in MySQL

Core dynamic Lianke rushes to the scientific innovation board: with an annual revenue of 170million yuan, Beifang Electronics Institute and Zhongcheng venture capital are shareholders

使用 WebDAV 替代445端口文件共享

華大單片機KEIL報錯_WEAK的解决方案
随机推荐
使用 WebDAV 替代445端口文件共享
破解仓储难题?WMS仓储管理系统解决方案
One week technical update express of substrate and Boca 20220425 - 20220501
TIA博途_基于SCL语言制作模拟量输入输出全局库的具体方法
IDEA 官网插件地址
Rxjs mergeMap 的使用场合
工作流自动化 低代码是关键
Blink SQL内置函数大全
国信证券是国企吗?在国信证券开户资金安全吗?
im即时通讯开发之双进程守护保活实践
How to use the low code platform of the Internet of things for picture management?
利用OpenCV执行相机校准
Code and principle of RANSAC
Don't worry. This is the truth about wages in all industries in China
驾驭一切的垃圾收集器 -- G1
Hikvision tools manager Hikvision tools collection (including sadp, video capacity calculation and other tools) a practical tool for millions of security practitioners
高收益银行理财产品在哪里看?
数据分析师太火?月入3W?用数据告诉你这个行业的真实情况
Stored procedures of PostgreSQL
全面解析零知识证明:消解扩容难题 重新定义「隐私安全」