xpth通过text值获取定位并提取同级节点text

<div class="lef-bd"><ul class="dot2"><li><dl><dt>联系人:</dt><dd>李先生</dd></dl></li><li><dl><dt>电&nbsp;&nbsp;&nbsp;话:</dt><dd>0371-88888888</dd></dl></li><li><dl><dt>手&nbsp;&nbsp;&nbsp;机:</dt><dd>18188888888</dd></dl></li><li><dl><dt>传&nbsp;&nbsp;&nbsp;真:</dt><dd>0371-88888888</dd></dl></li><li><dl><dt>地&nbsp;&nbsp;&nbsp;址:</dt><dd>河南 郑州 中原区 大学科技园X座XX层</dd></dl></li><li><dl><dt>客&nbsp;&nbsp;&nbsp;服:</dt><dd class="a_kf"><a onclick="chinacn.openQQ(888888888,32045);" rel="nofollow" target="_blank" title="点击这里给我发消息" class="qqjt"></a></dd></dl></li></ul><div class="map_dt"></div>
response.xpath("//div[@class='lef-bd']//dt[contains(text(),'联系人')]/following-sibling::dd").extract_first("")

获取到“联系人”同级节点的 李先生

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CMD快速测试xpath,在安装了scrapy的虚拟环境下运行命令:

scrapy shell http://xxx.xxx.com

可运行命令进行测试提取结果:

>>> tite = response.xpath('//div[@class="entry-header"]/h1/text()').extract()
>>> tite
>>> ['5 款 Linux 街机游戏']

这样就提取出数组形式的结果,可以通过访问数组来获取成员:

>>> tite.extract()[0]

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

提取h1标签的值

tite = response.xpath('//div[@class="entry-header"]/h1/text()')

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

遇到如:日期·版块·分类   在一起的这种(http://blog.jobbole.com/114636/)

<p class="entry-meta-hide-on-mobile">2019/01/11 ·  <a href="http://blog.jobbole.com/category/it-tech/" rel="category tag">IT技术</a>·  <a href="http://blog.jobbole.com/tag/linux/">Linux</a></p>

使用命令:

response.xpath('//p[@class="entry-meta-hide-on-mobile"]/text()').extract()[0
].strip().replace("·","")

==命令解释==

extract()[0]           = 提取数组成员

strip()                   = 去除空格

.replace("·","")    = 将“·”替换为空

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

通过contains函数 搜索包含某个属性值的xptah

<span data-post-id="114636" class=" btn-bluet-bigger href-style vote-post-up   register-user-only "><i class="fa  fa-thumbs-o-up"></i> <h10 id="114636votetotal">1</h10> 赞</span>

命令:

response.xpath("//span[contains(@class,'vote-post-up')]/h10/text()")将值直接转换为int类型int(response.xpath("//span[contains(@class,'vote-post-up')]/h10/text()").extract()[0])

==命令解释==

//标签中 [搜索(@class包含'vote-post-up')]/h10/的值

需要将值转换为int类型直接 int(.....)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

遇到如:156 收藏  这种数字+文字或字母的,需要用re正则进行替换(CMD命令:ipython)

In [6]: m = re.match(".*?(\d+).*","156 收藏")In [7]: if m:...:     print(m.group(1))...:
156

==命令解释==

m = re.match(“正则表达式”,“内容”)

if m:   (判断如果有值)

print(m.group(1)) (获取第1个)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

python之Scrapy 的Xpath常用定位相关相关推荐

  1. java xpath 函数,XPath常用定位节点元素语句总结 - 中国龍 - 博客园

    将一个XML或HTML文档转换成了DOM树结构后,如何才能定位到特定的节点?XPath实现了这样的功能,它通过DOM树中节点的路径和属性来导航,通过XPath路径表达式可以选择DOM树中的nodes( ...

  2. Python之Scrapy爬虫的常用命令

    Scrapy爬虫的常用命令: Scrapy命令行是为持续运行设计的专业爬虫框架. 常用的Scrapy,命令有三个: startproject genspider crawl Scrapy为什么采用命令 ...

  3. python中xpath定位_xpath最新:关于python中的xpath解析定位_爱安网 LoveAn.com

    关于"xpath"的最新内容 聚合阅读 这篇文章主要介绍了关于python中的xpath解析定位,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧... 这篇文章主要 ...

  4. 【Python笔记】网络爬虫——常用框架介绍以及 Scrapy 框架使用

    网络爬虫开发常用框架 Scrapy 爬虫框架 Crawley 爬虫框架 PySpider 爬虫框架 Scrapy 爬虫框架的使用 搭建 Scrapy 爬虫框架 1. 安装 Twisted 模块 2. ...

  5. xpath常用的元素定位方式

    xpath常用的元素定位方式 xpath是比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能.如果Xpath使用的比较好,几乎可以定位到任何页面元素,而且受页面变化影响较小.(以下是个人 ...

  6. Python爬虫:关于scrapy、Gerapy等爬虫相关框架和工具

    框架名称 作用 地址 scrapy 爬虫框架 https://github.com/scrapy/scrapy Scrapyd 部署启动.状态监控 https://github.com/scrapy/ ...

  7. 《使用 Python 和 Scrapy 半小时爬了 10 个在线商店的网页》

    Scrapy 是 Python 开发的一个快速,高层次的屏幕抓取和 web 抓取框架,用于抓取 web 站点并从页面中提取结构化的数据.Scrapy 用途广泛,可以用于数据挖掘.监测和自动化测试.本文 ...

  8. python 静态网页_Python静态网页爬虫相关知识

    想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢? 爬虫的架构实现 爬虫包括调度器,管理器,解析器,下载器和输出器. ...

  9. Python|Git remote|hosts|PyCharm常用快捷键|变量转换|命名|类型|运算符|分支|调整tab|循环|语言基础50课:学习记录(1)-项目简介及变量、条件及循环

    目录 系列目录 均引自原项目地址: Python语言基础50课简介及相关网址 修改 hosts 文件 解决 GitHub 上图片无法显示 视频资源 Python语言基础50课代码等文件资源 表1. P ...

  10. python 宏处理库_常用的Python库,给大家分享一下!

    Tkinter---- Python默认的图形界面接口. Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组.Tcl/Tk是 ...

最新文章

  1. 图解|什么是缺页错误Page Fault
  2. 语音识别、传统语音识别、带权有限转态转换器、深度语音识别、时序分类、CTC解码
  3. 最近的一次敏捷项目Scrum经验总结
  4. mysql proxy 读写分离 1
  5. Keil Debug(printf) Viewer的使用
  6. TVS选型(车载电子产品篇)
  7. win7笔记本为手机共享wifi
  8. Java—简单的注册页面
  9. .net中的硬盘操作(针对Windows )
  10. 【Spring学习笔记-MVC-17】Spring MVC之拦截器
  11. 手机在线测试黄疸软件,在家怎么用手机测黄疸
  12. 老机型能更新鸿蒙,华为和荣耀老机型用户有福:确定能批量升级到鸿蒙系统!...
  13. JeecgBoot低代码平台 2.4.5 版本发布,钉钉与企业微信集成版本
  14. sql truncate_SQL Truncate和SQL Delete语句的内部
  15. DUL[2020-CVPR]
  16. 软文营销成功案例:如何进行媒体宣发-世媒讯
  17. 【VBA研究】输出PDF文件合并时出错
  18. Android11对比IOS14,iPhone11升级至iOS14,对比苹果iOS13,迎来3大新变化
  19. 【JSP综合课程设计】图书借阅系统设计与实现
  20. 图片一放大就模糊怎么办?图片无损放大器来帮忙

热门文章

  1. 高效人士的7个好习惯,由内而外全面造就自己
  2. 用Acrobat pro DC 自动生成pdf目录——知网硕博论文为例(附带如何下载只有caj的pdf)
  3. 计算机平面设计大专学校排名,平面设计学校排名哪些较好?
  4. 免费的HTTP代理IP服务器地址
  5. 2、Docker部署的Onlyoffice中文字体修改
  6. 用Tableau制作10种漂亮的饼图
  7. 【自学与引导】 大数据技术 技能课程总结篇
  8. GBASE 8s UDR内存管理_01_mi_alloc
  9. 数据库服务器的打开方式
  10. [渝粤教育] 哈尔滨工业大学 大学计算机—计算思维导论 参考 资料