html - 如何使用 XPath 选择元素及其子元素中的所有文本
问题描述
我想在使用XPATH的scrapy中提取以下标题的文本:
<h2 id="title"><a href="https://www.aclweb.org/anthology/P17-1102"><span class="acl-fixed-case">P</span>osition<span class="acl-fixed-case">R</span>ank: An Unsupervised Approach to Keyphrase Extraction from Scholarly Documents</a></h2>
如果我使用:
paper_title = response.xpath('//*[@id="title"]/a/descendant::*/text()').extract()
我会得到:
['P', 'R']
哪些是两个跨度孩子的内部文本
如果我使用:
paper_title = response.xpath('//*[@id="title"]/a/text()').extract()
我会得到:
['osition',
'ank: An Unsupervised Approach to Keyphrase Extraction from Scholarly Documents']
<a>
这就是排除孩子的内在文字。
如何提取整个文本?
解决方案
推荐阅读
- c++ - 如何在 C++ 中创建将函数与参数相关联的 Map?
- javascript - jQuery ui 替换拖动项的内容
- javascript - 如何在动态创建的按钮上添加 onClick 事件
- go - 有没有办法使用嵌入式结构中定义的方法来读取顶级结构类型?
- javascript - 纯 JavaScript:加载资源失败:服务器响应状态为 404(未找到)
- php - 在函数中调用函数,直到满足条件
- javascript - 定义 popper 选项的问题
- excel - 关闭工作簿时下标超出范围
- python - 比较不同 Excel 工作表中的两个值
- android - Android DJI UX SDK - 读取位置问题 - 电池耗尽