python内使用parsel之css选择器 | 您所在的位置:网站首页 › parsel安装不了 › python内使用parsel之css选择器 |
parsel parsel 比 lxml 功能强大,它内部不光集成有xpath语法,也集成了css和re语法,相比而言,css与re通用性更强,它俩的性能完全不输xpath,特别是re,速度更快,难度也高! css与xpath专门处理标记语言格式内容,如:XML或HTML等,但不能直接处理response,必须通过parsel 或 lxml 内的特别方法把字符形式的response转换成html 形式的编码。 css语法 #发送清求,获得响应 response = httpx.get(url,headers).text #把响应体转成html 格式. html = parsel.Selector(response) #定位内容,获取所有div标鉴内容 contend = html.css(‘div’).getall() 当定位到内容时,获取内容有两个方法。 a,get() get()方法获取第一个符合的内容,当符合内容有多个时,只返回第一个,并且以字符串形式返回标签内容。 比如,要获取第一个< p >标签 p = html.css(‘p’).get() 返回第一个< P >标签包含所有内容,包括< P > < /P >和它俩之间所有内容。 b,getall()getall()方法返回所有的符合内容,以列表形式返回所有标签内容。 例如,要获取所有< a >标签 a = html.css(‘a’).getall() 返回列表,包含所有< a >标签以及< /a >标签内所有内容。 解析标签内容 a,::text ::text 获取标签内容的文本。比如,获取第一个 标签的文本内容。 p = html.css(‘p::text’).get() 只返回< P >标签的文本内容。 b,::attr() ::attr()获取标签属性内容。 比如,获取第一个< a >标签的’href’内容. href = html.css('a::attr(‘href’)).get() 只返回< a >标签内’href’连接内容。 css选择器 parsel的出现,实现了在python中使用css选择器的可能,这包括标签选择器,类选择器,id选择器,复合选择器,伪选择器等等,具体css选择器用法,请参考其他的相关内容,我们下面只简聊在python中的用法。 a,标签选择器 div = html.css(‘div’).getall() 返回所有< div >标签。 b,类选择器(用 . 表示) div = html.css(‘div.contend’).get() 返回class类属性为contend的div标签。 c,id选择器(用#表示) p = html.css(‘p#contend::text’).get() 返回id为contend的< p >的文本内容。 #其它选择器用法请参考css的具体用法 |
CopyRight 2018-2019 实验室设备网 版权所有 |