码迷,mamicode.com
首页 > 其他好文 > 详细

xpath中遇到[<Element a at 0x39a9a80>](转)

时间:2018-01-10 20:26:04      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:使用   selector   rom   tree   -name   script   word   html   padding   

Element是什么

回归正题,大家晕头转脑的看完繁杂的语法之后,已经迫不及待写点什么东西了,然后部分同学可能遇到了这个

<Element a at 0x39a9a80>
或者类似 Element a at 0x???????,这样的一个值,某种意义上来说,当你打印变量的时候得到的这个值,其实它是一个列表,然后列表中的每一个值都是一个字典

from bs4 import BeautifulSoup
from lxml import etree
import requests

gjc=SHKD-700

html = "http://www.btanv.com/search/"+gjc+"-hot-desc-1"#定义URL

html = requests.get(html).content.decode(utf-8)#解码URL

dom_tree = etree.HTML(html)#解析成xml

links = dom_tree.xpath("//a[@class=‘download‘]")#在xml中定位节点,返回的是一个列表
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" class="download">磁力链接</a>

 

总结

  • Element类型是‘lxml.etree._Element‘,某种意义来说同时是一个列表
  • 列表的需要使用tag\attrib\text三个不同的属性来获取我们需要的东西
  • 变量.tag获取到的是标签名是---字符串
  • 变量.attrib获取到的是节点标签a的属性---字典
  • 变量.text获取到的是标签文本--字符串

 

 

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)

xpath中遇到[<Element a at 0x39a9a80>](转)

标签:使用   selector   rom   tree   -name   script   word   html   padding   

原文地址:https://www.cnblogs.com/z-x-y/p/8260213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!