建筑标准何其之多,python爬虫半天全梭

人生苦短,我用python。
Python之爽,莫过爬虫。
建筑标准真是多如六毛,住建部网站公开发布的就有近千条。还好住建部将各类标准进行了公开发布,可免费下载。要是手工全部下载,也太lowB了,也是对自己的耐性是个极大的考验,光干这个枯燥的事怕是也要个三五天。
我会python我怕谁,写个爬虫半天全撸完,看着自动下载的上千的标准文件,想想都暗爽,说干就干。

一、网站分析

1.进入住建部官网http://www.mohurd.gov.cn/,进入标准定额,再进标准发布公告,记下网址http://www.mohurd.gov.cn/bzde/bzfbgg/index.html,这个就是我们要爬取的第一个页面内容。可以看到,公布的标准共有50页,每页有20条标准。点击下一页,网址变成http://www.mohurd.gov.cn/bzde/bzfbgg/index_2.html,你会发现每一页的链接地址就是在首页的地址后面加上’_n’,找到地址规律就为自动爬取奠定基础了。
在这里插入图片描述

2.然后随便找一页网页进行结构分析,要从中提取出下载链接的页面。在网页上点击鼠标右键,选择“检查”就可以看到网页的结构了,找到我们要提取的目标链接地址,分析一下是否存在规律。在这里不得不吐槽一下,这个网页结构写的,太无语了,所有节点属性连一个class属性都没有,整个网页也没一点CSS样式,这个水平就能交差,看来政府的钱真是好赚啊。因为网页毫无章法,给内容提取确实带来了一点困扰,不过总算找到一点规律,每个a标签里都有个target=_blank的属性,总算是可以进行简单提取了。这里也有坑,将在程序中注明。
在这里插入图片描述

3.点击进入下载页面,进一步分析下载页面的网页结构。通过网页检查查看网页html结构,好歹这个页面的a标签的上一级有一个class=”attlink”的属性,这个提取下载链接就轻松多了,通过程序提取下载链接和文件名,就可以自动下载和保存文件了。这里也有坑,你会发现下载链接的写法根本不一致。

二、python程序实现

1.环境准备
IDE:pycharm
发送请求:requests模块
网页解析:beautifulsoup, re模块
2.获取网页html

def get_html(url):
    headers = {
   
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
    }
    response = requests.get(url, headers=headers)
    response.encoding = response.apparent_encoding
    html = response.text
    return html

3.获取总页数


                
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值