Python入坑系列 -- 序言

    实在而言,为什么会学一门新语言,是一个很难以叙说的事情,可能就是为了尝试新的实现,也可能是为了拓展广度,虽然我知道贪多嚼不烂这个问题,但是还是忍不住说道: 真香~~~

    开始是因为女同事让我去爬取国家统计局的省市区街道办的数据,然后想着应该不怎么难,就答应下来,不就应该解析页面获取节点内容跟xml解析应该差不多吗,随之一去不复返,看来这股劲头是拉不回来了。

网页访问流程简析:

目录

网页访问流程简析:

分析需求:

  1、网页结构剖析

  2、实现思路


     先是去了解一下解析流程:

             Python入坑系列 -- 序言_第1张图片

      对于这个访问流程,虽然简陋,但是对于我们而言,应该简单明了。

        从用户点击触发访问   ————>   浏览器包装 转发 ————>  服务端处理返回数据结构 ————>浏览器解析———>用户

 

分析需求:

  1、网页结构剖析

        我们所需要获取的内容存在于深层次的网页中,但是无论怎么变,父级页面与子级页面总有关联的数据,方便让我们进入深层及的页面,当然,我所爬取的内容也是这个结构即: 省 ——> 市 ——>区(县) ——>街道(镇)  ——> 居委会

       http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2017/index.html   2017年统计局资料

       比如省(直辖市):标签下有数字 ,就拿广东(44)说事,点进去的URL是这样

       http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2017/44.html  

       第二层次是省下面的行政区域 ,然后你惊奇发现,url里面的后缀例如广州市(4401)

        http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2017/44/4401.html 

    这里一级级都有规律可循,那就容易多了。

 

  2、实现思路

          既然结构已经获取出来,那么我们就可以对其进行解刨,像我们读取配置文件,读取xml那样去将所需要的数据一一延伸获取,xml有dom4j之类的处理,配置文件也有它的Property操作,网页不可能没有它的操作。 常规谷歌操作之后,发现真的有一类 汤(soup)用来处理这些佐料,java有Jsoup(对不起,开头了就不提了,不打脸,如需自行谷歌),python 有它的 BeautifulSoup 。

       Beautiful Soup 4.2.0 文档 了解一下

     剩余的就是对于python数据结构和语法特点的尝试,不得不说,挺简洁的,我用的是PyCharm ,对于这个网站的例子:

代码传送门

你可能感兴趣的:(python)