这篇文章给大家分享的是有关python使用xpath中遇到:<Element a at 0x39a9a80>怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Element是什么
回归正题,大家晕头转脑的看完繁杂的语法之后,已经迫不及待写点什么东西了,然后部分同学可能遇到了这个
<Element a at 0x39a9a80>
或者类似 Element a at 0x???????,这样的一个值,然后大家带着问题去搜,然后全是英文啊,什么一大堆乱七八糟的啊,英文不好的同学就崩溃了,在这里,我会重点解析一下
某种意义上来说,当你打印变量的时候得到的这个值,其实它是一个列表,然后列表中的每一个值都是一个字典
如何使用理解请看半成品开车实例,证明了本人非常擅长把学习和乐趣结合起来并且切身解决日常需求,滑稽脸.jpg
from bs4 import BeautifulSoup from lxml import etree import requests gjc='SHKD-700' #定义URL html = "http://www.btanv.com/search/"+gjc+"-hot-desc-1" #解码URL html = requests.get(html).content.decode('utf-8') #解析成xml dom_tree = etree.HTML(html) #在xml中定位节点,返回的是一个列表 links = dom_tree.xpath("//a[@class='download']") for index in range(len(links)): # links[index]返回的是一个字典 if (index % 2) == 0: print(links[index].tag) print(links[index].attrib) print(links[index].text)
实例解析
下面重点看看这个代码,
print(links[index]) print(type(links[index])) print(links[index].tag)#获取<a>标签名a print(links[index].attrib)#获取<a>标签的属性href和class print(links[index].text)#获取<a>标签的文字部分
打印出来的是
<Element a at 0x3866a58> <class 'lxml.etree._Element'> a {'href': 'magnet:?xt=urn:btih:7502edea0dfe9c2774f95118db3208a108fe10ca', 'class': 'download'} 磁力链接
该节点的html代码为
<a href="magnet:xt=urn:btih:7502edea0dfe9c2774f95118db3208a108fe10ca" rel="external nofollow" class="download">磁力链接</a>
看到这里大家应该就非常兽血沸腾的了解了三个属性的用法了。
总结
Element类型是'lxml.etree._Element',某种意义来说同时是一个列表
列表的需要使用tag\attrib\text三个不同的属性来获取我们需要的东西
变量.tag获取到的是标签名是---字符串
变量.attrib获取到的是节点标签a的属性---字典
变量.text获取到的是标签文本--字符串
感谢各位的阅读!关于“python使用xpath中遇到:<Element a at 0x39a9a80>怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。