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版的文曲星猜数字游戏代码
Sep 02 Python
Python 搭建Web站点之Web服务器网关接口
Nov 06 Python
python实现杨辉三角思路
Jul 14 Python
Python网络编程详解
Oct 31 Python
Python科学画图代码分享
Nov 29 Python
python实现简易通讯录修改版
Mar 13 Python
python学生管理系统开发
Jan 30 Python
Laravel框架表单验证格式化输出的方法
Sep 25 Python
Python中的list与tuple集合区别解析
Oct 12 Python
在python里创建一个任务(Task)实例
Apr 25 Python
Python reduce函数作用及实例解析
May 08 Python
Python何绘制带有背景色块的折线图
Apr 23 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
php方法调用模式与函数调用模式简例
2011/09/20 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
PHP生成条形图的方法
2014/12/10 PHP
微信红包随机生成算法php版
2016/07/21 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
加载 Javascript 最佳实践
2011/10/30 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
python3使用SMTP发送HTML格式邮件
2018/06/19 Python
python制作朋友圈九宫格图片
2019/11/03 Python
Python CSV文件模块的使用案例分析
2019/12/21 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
法学毕业生自我鉴定
2013/11/08 职场文书
污水厂厂长岗位职责
2014/01/04 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
对孩子的寄语
2014/04/09 职场文书
销售类求职信
2014/06/13 职场文书
人事主管岗位职责
2015/02/04 职场文书
2015年大学学生会工作总结
2015/05/13 职场文书