分享

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

 止观观止 2017-12-28

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

3.编译成Pattern对象

对于会多次用到的正则表达式,我们可以调用re的compile()方法编译成

Pattern对象,调用的时候直接Pattern对象.xxx即可,从而提高运行效率。小编推荐大家加一下这个群:103456743这个群里好几千人了!大家遇到啥问题都会在里面交流!而且免费分享零基础入门料资料web开发 爬虫资料一整套!是个非常好的学习交流地方!也有程序员大神给大家热心解答各种问题!很快满员了。欲进从速哦!各种PDF等你来下载!全部都是免费的哦!只为帮助大家快速入门,所以小编在群里等你们过来一起交流学习呢!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

附:group()方法与其他方法详解不引入括号,增个表达式作为一个组,是group(0)不引入()的话,代表整个表达式作为一个组,group = group(0)如果引入()的话,会把表达式分为多个分组,比如下面的例子:

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

输出结果:
除了group方法外还有三个常用的方法:
  • groups(): 从group(1)开始往后的所有的值,返回一个元组

  • start():返回匹配的开始位置

  • end():返回匹配的结束位置

  • span():返回一个元组组,表示匹配位置(开始,结束)

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

^(0|86|17951)?(13[0-9]|14[579]|15[0-35-9]|17[01678]|18[0-9])[0-9]{8}$

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

  • 5.第15到17顺序码,这里就是三个数字,对同年、同月、同日出生的人

    编定的顺序号,奇数分给男的,偶数分给女的:

    学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

  • 6.第18位校验码,0到9或者x和X

    学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

能推算出18的,那么推算出15的也不难了:

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

最后用|组合下:

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

匹配开头结尾示例

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

输出结果

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

卧槽,果然是北京所有的地区,然后每个地区的名字貌似都有一个超链接,F12看下指向哪里?

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

到这里就豁(huo)然开朗了,我们来捋一捋实现的流程:
  • 1.先拿到第一层的城市列表链接用列表存起来

  • 2.接着遍历列表去访问不同的城市列表链接,截取不同城市的城市名,城市编码存起来

流程看上去很简单,接着来实操一波。先是拿城市列表url
这个很容易拿,就直接贴代码了:

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

拿到需要的城市列表url:
接着随便点开一个,比如beijing.shtml,页面结构是这样的:想要的内容是这里的超链接:
F12看下页面结构,层次有点多,不过没关系,这样更能够锻炼我们
入手点一般都是离我们想要数据最近地方下手,我看上了:conMidtab3全局搜了一下,也就八个:
第一个直接就可以排除了:

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

输出下:

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

继续细扒,我们要的只是a这个东西:

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

输出下:

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

输出内容:

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

卧槽,就是我们想要的结果,美滋滋,接着把之前拿到所有

的城市列表都跑一波,存字典里返回,最后赛到一个大字典

里,然后写入到文件中,完成。

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

运行结果

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

如有侵权请联系小编删除哦!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

学会正则表达式!爬遍天下的网站!史上最全正则表达式全面解析!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多