当前位置:网站首页>爬取国家法律法规数据库
爬取国家法律法规数据库
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')
最后,得到爬取的数据结果如下:

边栏推荐
- “我让这个世界更酷”2022华清远见研发产品发布会圆满成功
- 利用OpenCV执行相机校准
- 网上期货开户安全么?
- Informatics Olympiad 1333: [example 2-2] blah data set | openjudge noi 3.4 2729:blah data set
- Function key input experiment based on stm32f103zet6 Library
- 你知道 log4j2 各项配置的全部含义吗?带你了解 log4j2 的全部组件
- Solution to Maxwell error (MySQL 8.x connection)
- 过关斩将,擒“指针”(下)
- Keras deep learning practice (12) -- facial feature point detection
- binder hwbinder vndbinder
猜你喜欢

Solution of adding st-link to Huada MCU Keil

binder hwbinder vndbinder
![[webinar] mongodb and Google cloud accelerate enterprise digital innovation](/img/ea/4680381ce78fd5d956ed009692b424.png)
[webinar] mongodb and Google cloud accelerate enterprise digital innovation

Rxjs mergeMap 的使用场合

binder hwbinder vndbinder

喜讯丨英方软件2022获得10项发明专利!

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

Redis 原理 - String

Bit. Store: long bear market, stable stacking products may become the main theme

基于STM32F103ZET6库函数按键输入实验
随机推荐
校园书籍资源共享平台
国际数字经济学院、华南理工 | Unified BERT for Few-shot Natural Language Understanding(用于小样本自然语言理解的统一BERT)
Recommend several open source IOT platforms
金源高端IPO被终止:曾拟募资7.5亿 儒杉资产与溧阳产投是股东
Informatics Orsay all in one 1335: [example 2-4] connected block
利用OpenCV执行相机校准
im即时通讯开发之双进程守护保活实践
Market status and development prospect forecast of global epoxy resin active toughener industry in 2022
華大單片機KEIL報錯_WEAK的解决方案
Campus book resource sharing platform
Exporting coordinates of points in TXT format in ArcGIS
【ELT.ZIP】OpenHarmony啃论文俱乐部—数据密集型应用内存压缩
破解仓储难题?WMS仓储管理系统解决方案
Two methods of MySQL database login and logout
如何封装调用一个库
芯动联科冲刺科创板:年营收1.7亿 北方电子院与中城创投是股东
Google Earth Engine(GEE)——ImageCollection (Error)遍历影像集合产生的错误
Market status and development prospect forecast of global functional polyethylene glycol (PEG) industry in 2022
Market status and development prospect forecast of global aircraft hose industry in 2022
让单测变得如此简单 -- spock 框架初体验