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标准库内置函数complex介绍
Nov 25 Python
Windows下PyMongo下载及安装教程
Apr 27 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
python七夕浪漫表白源码
Apr 05 Python
python并发编程多进程 模拟抢票实现过程
Aug 20 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
Apr 24 Python
python pyecharts 实现一个文件绘制多张图
May 13 Python
Python smtp邮件发送模块用法教程
Jun 15 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
Sep 02 Python
Pycharm编辑器功能之代码折叠效果的实现代码
Oct 15 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 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
收音机另类DIY - 纸巾盒做外壳
2021/03/02 无线电
PHP文件锁定写入实例解析
2014/07/14 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
js判断浏览器的比较全的代码
2007/02/13 Javascript
Expandable &quot;Detail&quot; Table Rows
2007/08/29 Javascript
Jquery 的扩展方法总结
2011/10/01 Javascript
JavaScript闭包 懂不懂由你反正我是懂了
2011/10/21 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
微信小程序网络请求wx.request详解及实例
2017/05/18 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
Vue 3.0 全家桶抢先体验
2020/04/28 Javascript
python实现的防DDoS脚本
2011/02/08 Python
Python返回真假值(True or False)小技巧
2015/04/10 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
物流经理自我评价
2013/09/23 职场文书
文秘自荐信
2013/10/20 职场文书
初中数学教学反思
2014/01/16 职场文书
大学毕业生个人总结
2015/02/28 职场文书
2015年大学社团工作总结
2015/04/09 职场文书