- 3
- 0
- 约9.08千字
- 约 10页
- 2023-05-25 发布于上海
- 举报
Python爬⾍正则表达式详解爬爬爬爬个⾍⼦
本⽂是⽹络爬⾍的基础⽂章,介绍了正则表达式的⽤法,如果你已经掌握就不⽤往下看了。如果你想看看迪迦、赛⽂、雷欧奥特曼的故事,
可以继续往下看。
想起第⼀次接触爬⾍还是爬取空间说说输出词云,当时刚学Python不久,⼀句卧槽⾏天下,看着输出的词云,⼼⾥想这就是传说中的⼈
⼯智障智能吧…后来从光头宝藏博主阿德⾥安的博客⾥看到了从⾕歌图⽚⾃动抓取数据集,抓了抓梅西,于是⼜带着卧槽上路了…为了以后
更好的收集数据分析数据,今天开始准备系统地学⼀学Python⽹络爬⾍,于是有了本⽂。
系列⽂章
⽂章⽬录
1.⽹络爬⾍简介
⽹络爬⾍是⼀种互联⽹信息⾃动化采集程序,主要作⽤是代替⼈⼯对互联⽹中的数据进⾏⾃动采集与整理,以快速地、批量地获取⽬标数
据。⽹络爬⾍可以做如下事情:
批量采集某个领域的招聘数据,对某个⾏业的招聘情况进⾏分析;
批量采集某个⾏业的电商数据,以分析出具体热销商品,进⾏商业决策;
采集⽬标客户数据,以进⾏后续营销;
批量爬取腾讯动漫的漫画,以实现脱⽹本地集中浏览;
开发⼀款⽕车票抢票程序以实现⾃动抢票;
…
2.正则表达式
将⽹页上的信息爬下来之后,还有⼀个关键的步骤就是需要对⽬标信息进⾏提取,⽽表达式⼀般就是⽤于信息筛选提取的⼯具。正则表达式
是⼀种功能强⼤好⽤的表达式。模式字符串组成了正则表达式。
模式字符串使⽤特殊的语法来表⽰⼀个正则表达式:
字母和数字表⽰他们⾃⾝。⼀个正则表达式模式中的字母和数字匹配同样的字符串。
多数字母和数字前加⼀个反斜杠时会拥有不同的含义。
标点符号只有被转义时才匹配⾃⾝,否则它们表⽰特殊的含义。
反斜杠本⾝需要使⽤反斜杠转义。
模式元素(如 r/t ,等价于 //t )匹配相应的特殊字符。
原⼦是正则表达式的最基本的组成单位,⽽且在每个模式中最少包含⼀个原⼦。
2.1 Python正则表达式
re 模块使 Python 语⾔拥有全部的正则表达式功能。
compile 函数根据⼀个模式字符串和可选的标志参数⽣成⼀个正则表达式对象。该对象拥有⼀系列⽅法⽤于正则表达式匹配和替换。
全局匹配函数使⽤格式:
源字符串 =
正则表达式 = \原⼦...
pile(正则表达式).findall(源字符串)
2.2普通字符作为原⼦
下表列出了正则表达式中的普通字符及描述。
普通字符(模
描述
式)
\n 匹配⼀个换⾏符
\t 匹配⼀个制表符
\w 匹配字母数字及下划线
\W 匹配⾮字母数字及下划线
\s 匹配任意空⽩字符,等价于 [\t\n\r\f]
\S 匹配任意⾮空字符
\d 匹配任意数字,等价于 [0-9]
\D 匹配任意⾮数字
\A 匹配字符串开始
\Z 匹配字符串结束,如果是存在换⾏,只匹配到换⾏前的结束字符串
\z 匹配字符串结束
\G 匹配最后匹配完成的位置
\b 匹配⼀个单词边界,也就是指单词和空格间的位置。例如, ‘er\b’ 可以匹配never 中的 ‘er’,但不能匹配 “verb” 中的
‘er’
\B 匹配⾮单词边界。 ‘er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹配 “never” 中的 ‘er’
\1...\9 匹配第n个分组的⼦表达式
\10 匹配第n个分组的⼦表达式,如果它经匹配。否则指的是⼋进制字符码的表达式
–分割线 – 以上称为普通字符称为原⼦
[m78nebula] 原⼦表,匹配 奥特曼⽼家M78星云 (m78nebula) 中的任意⼀个
[^m78nebula] 原⼦表,匹配除 奥特曼⽼家M78星云(m78nebula) 以外的任意⼀个字符
普通字符(模
描述
式)
注意:模式中⼤⼩写字母所表⽰的作⽤其实是【互补】的关系。
实例1:
import re
string = csdnblog
pat = csdn
pile(pat).findall(s
您可能关注的文档
最近下载
- 乡镇招聘试题及答案.docx
- 2021年10月23日全国事业单位联考B类《职业能力倾向测验》试题.docx VIP
- Ce元素对6061铝合金铸态组织及性能的调控机制研究.docx VIP
- T CAQI 255-2022《机动车检验机构建站规范》.pdf
- 药品GMP检查指南.docx VIP
- 2025年药品GMP检查指南.pdf VIP
- 一种人工影响天气的系留烟条及系留烟炉.pdf VIP
- 2025年事业单位公开招聘社会科学专技类(B类)《职业能力倾向测验》+《综合应用能力》合订试题(附答案解析).docx
- 三年级数学(上)计算题专项练习附答案.docx VIP
- 吉泰科GK800变频器用户手册.pdf
原创力文档

文档评论(0)