python使用xpath中遇到:到底是什么?


Posted in Python onJanuary 04, 2018

前言

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

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 相关文章推荐
Python编程求解二叉树中和为某一值的路径代码示例
Jan 04 Python
python字典快速保存于读取的方法
Mar 23 Python
python 读入多行数据的实例
Apr 19 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
python算法题 链表反转详解
Jul 02 Python
在windows下使用python进行串口通讯的方法
Jul 02 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
Python实现把多维数组展开成DataFrame
Nov 30 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
Python实现UDP程序通信过程图解
May 15 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
对Keras自带Loss Function的深入研究
May 25 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
Jan 04 #Python
python实现微信跳一跳辅助工具步骤详解
Jan 04 #Python
Python中实现最小二乘法思路及实现代码
Jan 04 #Python
Python找出最小的K个数实例代码
Jan 04 #Python
Python编程把二叉树打印成多行代码
Jan 04 #Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
Jan 04 #Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 #Python
You might like
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
常用的php ADODB使用方法集锦
2008/03/25 PHP
php实现监控varnish缓存服务器的状态
2014/12/30 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
javascript 继承实现方法
2009/08/26 Javascript
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
jquery 手势密码插件
2017/03/17 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
vue内置组件keep-alive事件动态缓存实例
2020/10/30 Javascript
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
人力资源经理的岗位职责
2014/03/02 职场文书
销售总经理岗位职责
2014/03/15 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle