资讯专栏INFORMATION COLUMN

讲讲python使用xpath中遇到[<Element a at 0x39a9a80>到

darry / 895人阅读

摘要:在这里我表示所有不经验证的转载都是耍流氓,把一篇篇错误的文章转载的到处都是,不知道浪费了多少人的时间精力去反复调试错误的代码,尤其是对初学者有极大的打击性。

写在前面

本人的所有文章只适合善于使用百度的人,因为所有基础知识个个博客复制粘贴了无数遍,我这里均不会详细讲述。

在这里我表示所有不经验证的转载都是耍流氓,把一篇篇错误的文章转载的到处都是,不知道浪费了多少人的时间精力去反复调试错误的代码,尤其是对初学者有极大的打击性。

大家在学习python爬虫的过程中,会发现一个问题,语法我看完了,说的也很详细,我也认真看了,爬虫还是不会写,或者没有思路,所以我的所有文章都会从实例的角度来解析一些常见的问题和报错。


Element是什么

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


或者类似 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
        print(links[index].attrib)#获取标签的属性href和class
        print(links[index].text)#获取标签的文字部分

打印出来的是



a
{"href": "magnet:?xt=urn:btih:7502edea0dfe9c2774f95118db3208a108fe10ca", "class": "download"}
磁力链接

该节点的html代码为

磁力链接

看到这里大家应该就非常兽血沸腾的了解了三个属性的用法了。

总结

Element类型是"lxml.etree._Element",某种意义来说同时是一个列表

列表的需要使用tagattrib ext三个不同的属性来获取我们需要的东西

变量.tag获取到的是标签名是---字符串

变量.attrib获取到的是节点标签a的属性---字典

变量.text获取到的是标签文本--字符串

欢迎收藏点赞,拒绝转载,因为目前我也是自学向前摸索,这些都是我目前认知到的东西,肯定有讲的不准确的地方,不希望会误导到他人

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41149.html

相关文章

  • Python通用验证码识别OCR库ffffddocr的安装使用教程

      小编写这篇文章的主要目的,主要是给大家去做一个相关的介绍,介绍的内容是关于Python通用验证码的一些相关小技巧,包括有通用验证码识别相关的OCR库,同时也会给大家介绍一些内容,介绍包括OCR库ddddocr安装使用教程,下面小编就给大家详细解答下。  前言  在使用自动化登录网站的时候,经常输入用户名和密码后会遇到验证码。今天介绍一款通用验证码识别OCR库,对验证码识别彻底说拜拜,它的名字是...

    89542767 评论0 收藏0
  • 怎么使用python对图片进行批量压缩

      小编写这篇文章的主要目的,主要是讲解一些关于python的事情,比如需要对图片进行批量压缩,压缩的方法还是比较的多的,那么,为了提高效率,怎么进行批量压缩呢?下面就给大家详细解答下。  前言  最近在研究怎么对图片资源进行无损压缩,网上也找了一些资料。总而言之,收获不少,所以想对最近的学习做个总结。  无损压缩其实是相对而言的,目的是为了减小图片资源的内存大小但又不影响图片的显示质量。下面我将...

    89542767 评论0 收藏0
  • Python+Selenium实现在Geoserver批量发布Mongo矢量数据

      小编写这篇文章的一个主要目的,主要是来给大家做一个解答,解答的内容是Python+Selenium,具体的一个内容解释是什么呢?比如,我们可以实现Geoserver批量发布Mongo矢量数据,具体的一个内容,下面就给大家详细解答下。  首先,声明一下,这里我完成的脚步属于半自动化的,我戏称它为有监督的半自动化脚本。具体原因后面会详细说明。  一、安装Selenium和ChromeDriver ...

    89542767 评论0 收藏0
  • Python xpath,JsonPath,bs4的基本使用方法

      小编写这篇文章的一个主要目的,主要是来给大家去做一个介绍,介绍的内容主要是关于Python的一些知识,其中的内容包含有xpath,JsonPath,bs4等一些知识,主要是去介绍他们的一些基本使用方法,具体的内容,下面就给大家详细解答下。  1.xpath  1.1 xpath使用  google提前安装xpath插件,按ctrl+shift+x出现小黑框  安装lxml库pip instal...

    89542767 评论0 收藏0

发表评论

0条评论

darry

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<