爬虫解析网页的几种方式

1. Python 正则

re.match

从字符串起始位置匹配一个模式,如果从起始位置匹配不了,match()就返回none

语法格式:

import re
m = re.match(pattern, string, flags=0)
# flags用来控制匹配方式,如是否区分大小写,多行匹配等
print('结果:', m)
print('起始与终点:', m.span())
print('匹配的起始位置:', m.start())
print('匹配的终点位置:', m.end())

# pattern为正则表达式
print('匹配的整句话:',m.group(0))
print('匹配的第一个结果:',m.group(1))
print('匹配的第二个结果:',m.group(2))
print('匹配的结果列表:',m.groups())

(.*) 贪婪匹配

(.*?) 非贪婪匹配

正则表达式前加 r : 表示原生字符串,不会转义

否则需要转义

re.search()

扫描正字字符串并返回第一个成功的匹配

其他方面与match一样

re.findall()

findall可以找到所有的匹配,并以列表的形式返回

2. BeautifulSoup库

bs4 官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html

3. XPath

表达式描述
nodename选取所有的nodename子节点
/从根节点选取
//从任意位置匹配
.选取当前节点
选取父节点
@选取属性
text()选取文本
*通配符,不包括文本,注释
@*选择所有属性
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值