gpt4 book ai didi

python - 提取text()并从中获取属性

转载 作者:行者123 更新时间:2023-12-01 04:54:47 25 4
gpt4 key购买 nike

我得到一个带有 xpath 和条件的 html 标签,现在我用 text() 得到值。有没有办法从这个值中获取属性? (文本())

来自text()的值

document.write("<a href="http://www...">hello</a>"); 

现在我将得到整行(到目前为止还可以)。现在我想从该值中获取/@href。

这是我的代码:

code = "...<script>document.write("<a href="http://www...">hello</a>"); </script>..."

doc = lxml.html.fromstring(code)
value = doc.xpath( "//script[contains(text(), 'document.write') and (contains(text(),'href'))]//text()" )

我可以用正则表达式尝试,但也许还有另一种好方法来解决我的 xpath 问题。

谢谢

最佳答案

您可以避免使用regex通过调用 LH.fromstring关于 <script> 内的文字标签:

import lxml.html as LH
code = '...<script>document.write("<a href="http://www...">hello</a>"); </script>...'

doc = LH.fromstring(code)
for text in doc.xpath( "//script[contains(text(), 'document.write') and (contains(text(),'href'))]//text()" ):
script = LH.fromstring(text)
print(script.xpath('//a/@href'))

产量

['http://www...']

关于python - 提取text()并从中获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27689256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com