零基础学<font class="skcolor_ljg">Python</font>(全彩版) 怎么吧这个标签里的汉字用 xpath 全部提取出来。 谢谢大佬们。
1
Govn OP <em>零基础学<font class="skcolor_ljg">Python</font>(全彩版)</em>
没写全。。 |
2
JCZ2MkKb5S8ZX9pq 2019 年 6 月 20 日 via iPhone
em//text()
这样行嘛? |
3
limuyan44 2019 年 6 月 21 日
chrome 控制台右键 copy wiht xpath 这个没给文档结构写了哪里准哦
|
4
ksedz 2019 年 6 月 21 日 normalize-space(.//em)
|
5
lxychn 2019 年 6 月 21 日 function getElementByXpath(path) {
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; } var text = getElementByXpath("//font[@class='skcolor_ljg']/text()") |
6
Govn OP @JCZ2MkKb5S8ZX9pq 不行的呀,这样提取不出来 python。
|
7
darknoll 2019 年 6 月 21 日
用个正则表达式得了
|
8
wudamen 2019 年 6 月 21 日
from lxml import etree
html = '<em>零基础学<font class="skcolor_ljg">Python</font>(全彩版)</em>' print(etree.HTML(html).xpath('string(//em)')) 零基础学 Python (全彩版) |
9
R0n1n 2019 年 6 月 21 日 via Android
用正则,这样就得到两个问题啦🤣
|
12
Govn OP 其实昨天试了一下用 xpath ("string(//font[@class='skcolor_ljg'])")可以提取出来。
|
13
foxyier 2019 年 6 月 21 日
//em/text()[2]
|
14
foxyier 2019 年 6 月 21 日
修正楼上。把[2]去掉。
|
15
dsg001 2019 年 6 月 21 日 >>> from lxml import etree
>>> html = '<em>零基础学<font class="skcolor_ljg">Python</font>(全彩版)</em>' >>> doc = etree.fromstring(html) >>> doc.xpath('//em//text()') ['零基础学', 'Python', '(全彩版)'] |