爬数据,能让你少写1000行代码的捷径! | Python 正则表达式
▌春暖花开,又到了出门游玩拍拍拍吃吃吃的好季节了!
说到拍照摄影,你会构图吗?就是在照片有限的空间内处理人、景、物的关系,并将三者安排在画面中最佳的位置,以形成画面特定结构的方法。
学院君就是一个「拍啥啥变形」的摄影黑洞……心塞到无法呼吸.jpg
为了能够框出特定的凸出的景物,学院君尝试着使用取景框,诶,豁然开朗。
原本山河树草,蓝天白云等一堆景物,在取景框特定的大小和范围里,取出了一块我想要的景色。
别懵,你没走错,今天我们要学习的不是摄影技术和取景框。
我们将基于Python,学习正则表达式,帮助大家在爬虫以及搜索引擎优化等方面,以更少的功夫得到更精确的结果!
不怕,我们可以借助喜闻乐见的摄影这件事情,来理解它~
什么是正则表达式?
正则表达式,是对字符串操作的一种逻辑公式。就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个「规则字符串」。这个「规则字符串」,用来表达对字符串的一种过滤逻辑。
回想一下取景框,我们用定义好的形状,比如圆形、方形、菱形等,过滤眼前的一整片景色,将自己想拍的特定景物筛出来,比如一棵树,一朵云,是不是一下子就清晰了很多?
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作"匹配");
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分;
3. 也可以替换符合某一个规则的字符串。
为什么要学 正则表达式?
你可能还有点懵,有一个「取景框」一样的规则字符串,对我来说有什么意义呢?有什么具体应用的场景吗?
就爬虫技术来说,例如我们要爬一个招聘网站,传统的爬法是一股脑儿全扒下来,你会得到各种各样地区/城市/职位/薪水/要求/面经等文本和数据。此后你再利用数据处理的方法去筛选自己要的信息。
如果我只想得到,「5年以上,北京,产品经理,教育行业」这个信息,就可以利用正则表达式已有的规则,去撰写爬虫的代码,帮助快速高效准确地定位到自己要的信息。
同理,这种利用极简单的方式达到对字符串的复杂控制的方式,也可以应用在对产品评论/大众舆情/顾客喜好偏向/邮件信息调查等各个领域,此外还有谷歌、百度、搜狗等搜索引擎,如果做好精准的匹配和控制,优化SEO推广妥妥的~如今大热的机器学习,里面的标注,语法也会使用正则表达式噢~
基于Python, 我们一起学吧!
Python就不多说了,2017年程序届的黑马。选它学习,顺应时代呼唤~
这次,学院君又请来曾在学院多次开设Python相关小项目课程的杰克老师,教大家如何学习正则表达式这套规则,从解释到案例都有哦~力争用最少的时间和精力投入,得到更加精确的结果!http://www.aibbt.com/a/18041.html
当然啦,本次课程需要大家对Python有基础的入门了解,至少知道基本数据类型和变量,其他的就由杰克老师带上车啦~