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 18 Python
解决Python print输出不换行没空格的问题
Nov 14 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
Jun 05 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
python3使用GUI统计代码量
Sep 18 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
Dec 31 Python
python实现串口通信的示例代码
Feb 10 Python
利用python中集合的唯一性实现去重
Feb 11 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
python定义类的简单用法
Jul 24 Python
Python reques接口测试框架实现代码
Jul 28 Python
python调用摄像头的示例代码
Sep 28 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
php5.3 注意事项说明
2013/07/01 PHP
解析csv数据导入mysql的方法
2013/07/01 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
PHP图片水印类的封装
2017/07/06 PHP
用jscript启动sqlserver
2007/06/21 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
jQuery实现的无限级下拉菜单功能示例
2016/09/12 Javascript
js省市区级联查询(插件版&amp;无插件版)
2017/03/21 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
python测试mysql写入性能完整实例
2018/01/18 Python
Django的性能优化实现解析
2019/07/30 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
python中对_init_的理解及实例解析
2019/10/11 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
Hotels.com南非:酒店预订
2017/11/02 全球购物
网上商城创业计划书范文
2014/01/31 职场文书
对标管理实施方案
2014/03/12 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
人力资源求职信
2014/05/25 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
医院2014国庆节活动策划方案
2014/09/21 职场文书
校运动会广播稿300字
2014/10/07 职场文书
五一劳动节慰问信
2015/02/14 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
员工给公司的建议书
2019/06/24 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书
Go gRPC进阶教程gRPC转换HTTP
2022/06/16 Golang