一.方式
1、正则表达式(最难)
\d 表示匹配一个数字
\w 表示匹配一个数字或字母
+ 表示前面的字符至少出现1次,不能为0(不出现)
^ 表示必须以什么字符开头
$ 表示必须以什么字符结尾
. 可以匹配某一个字符后跟的任意一个字符
* 可以匹配前面一个字符0个或任意多个字符
.* 表示任意字符出现多次,包含0次
2、xpath (最简单)
3、cssselect (需要css基础)
4、bs (一般)
二.特点
三.方法
xpath基本语法
1、通过标签名找标签,找到的不是标签内的文本,是整个标签
//div
输出结果:<element ul at 0x**********>
2、通过属性查找
标签的常见属性:id class href alt...
id、class相当于给标签起了一个别名
href是a标签的属性,表示跳转到的链接,一般用于提取地址
alt属性,属于img标签的一个属性,一般用于保存图片名称
通过属性查找:
例如://div/a[@href]
//div[@class="zhiyou"]
3、查找符合条件的第2个标签
//div[@class="zhiyou"][2]
4、按照标签的层次查找
//div/ul/li/div/a/img
5、查找属性值(src属于img标签和属性)
//ul/li/div/a/img/@src
6、查找标签内的文本,只能获取a标签内的一级文本
//a/text()
获取所有本文,查找class="zhiyou"的div标签内所有文本(包含div子标签)
//div[@class="zhiyou"]//text()
7、查找具体位置的标签
//body/p[position() = 1]
//body/p[position() < 3]
//div/a[last()]
8、查找包含某个类名的标签
//div[contains(@class, "zhiyou")]
9、查找name属性等于zhiyou所有标签
//*[@name="zhiyou"]
四.谁有其他三个的(简介)的提供一下