实验10 正则表达式与网络爬虫
1. 实验内容与目标
本次实验旨在了解正则表达式相关基本概念以及在网络爬虫中的应用,掌握Python正则表达式模块re的常见用法,初步学会运用基本的爬虫模块urllib,以及第三方库requests和Beautiful Soup,进行web数据的自动抓取实践。需掌握的相关知识点主要包括:
1) 正则表达式:
特殊字符的用法
2) re模块:
(a)正则表达式对象、匹配对象等概念
(b)核心函数与方法:compile、findall、finditer、match、search、group、sub、split
3) 网络爬虫:
(a) url的概念(包括http协议、ftp协议等)、爬虫的工作流程
(b) urllib基本爬虫库:掌握urllib.request模块的基本用法,结合正则表达式学会web数据的自动抓取方法。
(c)简单入门requests和Beautiful Soup等第三方爬虫库
2. 实验练习题
2.1 运用re.findall函数查找所有匹配。
(1) 设计一个正则表达式,提取出字符串中含字母’o’的全部单词(数字和标点符号都不是单词部分)。这个字符串为s="I like Python programming 123 because it is 456 simple and elegant."
#2.1 单词匹配
def findall_text(rule,text):
import re
result = re.findall(rule,text)
print(result)
return result
text = "I like Python programming 123 because it is 456 simple and elegant."
rule = '\w*o\w*'
findall_text(rule,text)
(2) 提取文本每行中完整的年月日和时间字段:
python合法关键字是_python练习题-day18_weixin_39607836的博客-CSDN博客
#2.2 提取下列文本每行中完整的年月日和时间字段:
def find_time(text):
import re
content=re.findall("\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}",text)
print(content)
re