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实现socket客户端和服务端简单示例
Feb 24 Python
Python创建日历实例
Aug 21 Python
python使用xlrd模块读写Excel文件的方法
May 06 Python
python使用range函数计算一组数和的方法
May 07 Python
用python写的一个wordpress的采集程序
Feb 27 Python
老生常谈python函数参数的区别(必看篇)
May 29 Python
Python实现PS滤镜的旋转模糊功能示例
Jan 20 Python
python生成tensorflow输入输出的图像格式的方法
Feb 12 Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 Python
通过实例解析Python调用json模块
Dec 11 Python
基于Python中random.sample()的替代方案
May 23 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 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
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
php常用数组函数实例小结
2016/12/29 PHP
jQuery 表格工具集
2010/04/25 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
炫酷的js手风琴效果
2016/10/13 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
python简单程序读取串口信息的方法
2015/03/13 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
详解Python循环作用域与闭包
2019/03/21 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
如何编写python的daemon程序
2021/01/07 Python
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
Java面向对象面试题
2016/12/26 面试题
创业计划书之书店
2019/09/10 职场文书
Python OpenCV 彩色与灰度图像的转换实现
2021/06/05 Python
python实现Nao机器人的单目测距
2021/09/04 Python
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS