正则表达式解析网页
re.match
1 | import re |
re.match(pattern, txt, flags)
: pattern
是正则表达式(模式),txt
是待匹配的文本,flags
是一些参数
re.search
1 | import re |
re.findall
1 | # -*- coding: utf-8 -*- |
方法 | 作用 | 返回结果数 |
---|---|---|
re.match | 从字符串起始位置开始匹配 | 第一个 |
re.search | 扫描整个文本,返回第一个**成功匹配的 | 第一个 |
re.findall | 扫描整个文本返回所有成功匹配 | 所有 |
实例——抓取博客文章标题
以我的博客为例:https://ithou.cc 抓取第一页的文章标题
1 | #coding: utf-8 |
使用BeautifulSoup解析网页
1 | import requests |
Xpath
Xpath
是一种在XML文档中查找信息的语言。
1 | import requests |
总结
有这几种方法提取源码数据:BeautifulSoup
、正则表达式
、lxml
HTML解析器 | 速度 | 提取方式 | 备注 |
---|---|---|---|
正则表达式 | 快 | 正则表达式 | 学习笔记 |
BeautifulSoup | 快(使用lxml) | find / find_all | |
lxml | 快 | Xpath |
正则表达式是相对较难的,就这么短短的五个字,就有整本书来介绍它。相对来说,BeautifulSoup和lxml简单些。