9 xpath ***首选,其他语言中也可以使用
9.1 data_text= request(url,param,header).text
9.2 tree=etree.parse(data_text)/etree.HTML(data_text)
9.3 list=tree.xpath(’//标签名/@标签名=标签名’//a.text()[0] |//标签名/@标签名=标签名’//a.text()[0] ’ )
9.4 分页使用param参数,
9.5 "./"表示当前目录,在新的URL中需要将前URL通过 URL1+URL2 方式拼接起来。
9.6 有时获取的数据是乱码:通常乱码的位置加入img_name.encode(‘iso-8895-1’).decode(‘gbk’)编码,有时效果没有时在全局位置 response.encoding="utf-8"处编码。但不能同时使用。
#!/usr/bin/env python
-- coding:utf-8 --
from lxml
import etree
if name == “main”:
tree = etree.parse(‘test.html’)
r = tree.xpath(’/html/body/div’)
r = tree.xpath(’/html//div’)
r = tree.xpath(’//div’)
r = tree.xpath(’//div[@class=“song”]’)
r = tree.xpath(’//div[@class=“tang”]//li[5]/a/text()’)[0]
r = tree.xpath(’//li[7]//text()’)
r = tree.xpath(’//div[@class=“tang”]//text()’)
r = tree.xpath('//div[@class="song"]/img/@src')
print(r)