xpath 和 lxml
- xpath
- 一门从html中提取数据的语言
xpath语法
- xpath helper插件:帮助我们从
elements
中定位数据 - / :表示从根节点开始 选择节点(标签)
- // :表示从任意节点开始
- @ :定位具体元素的位置
- 例如:
//div[@class='feed-infinite-wrapper']/ur/li
,表示为选择@class=’feed-infinite-wrapper’的div下的ur下的li。 - 另外,
a/@href
:选择a的href的值
- 获取文本
a/text()
:获取a下的文本a//text()
:获取a下的所有文本
- 5.当前
./a
表示当前节点下的a
- xpath helper插件:帮助我们从
lxml
- 安装 pip install lxml
- 使用
1
2
3
4
5
6from lxml import etree
#接收HTML字符串
response = requests.get(url).content.decode("utf-8")
element = etree.HTML("html字符串")
#xpath提取数据
element.xpath("")
以下代码中,a, b, c是什么参数?
- 1.>>> “{a} love {b}.{c}”.format(a=”I”, b=”FishC”, c=”com”)
- 2.’I love FishC.com’
关键字参数 3. 以下代码中,{0}, {1}, {2}是什么参数? - 1.>>> “{0} love {1}.{2}”.format(“I”, “FishC”, “com”)
- 2.’I love FishC.com’
位置参数 4. 如果想要显示Pi = 3.14,format前边的字符串应该怎么填写呢?
‘{0}{1:.2f}’.format(‘Pi = ‘, 3.1415)
写爬虫的结论
1.url
- 知道url地址的规律和总页码数:构造url地址的列表
- start_url (url地址有规律)
2.发送请求,获取响应
- requests
- 3.提取数据
- 返回json字符串:json模块
- 返回html字符串:lxml模块配合xpath模块
- 4.保存