gpt4 book ai didi

python - 如何使用 lxml 和 iterlinks 替换链接

转载 作者:太空狗 更新时间:2023-10-29 23:55:59 25 4
gpt4 key购买 nike

我是 lxml 的新手,我正在尝试弄清楚如何使用 iterlinks() 重写链接。

import lxml.html
html = lxml.html.document_fromstring(doc)
for element, attribute, link, pos in html.iterlinks():
if attibute == "src":
link = link.replace('foo', 'bar')
print lxml.html.tostring(html)

但是,这实际上并没有替换链接。我知道我可以使用 .rewrite_links,但是 iterlinks 提供了关于每个链接的更多信息,所以我更愿意使用它。

提前致谢。

最佳答案

不是仅仅为变量名 link 分配一个新的(字符串)值,您必须更改元素本身,在本例中通过设置其 src 属性:

new_src = link.replace('foo', 'bar') # or element.get('src').replace('foo', 'bar')
element.set('src', new_src)

请注意 - 如果您知道您对哪些“链接”感兴趣,例如,只有 img 元素 - 您还可以使用 .findall()(或 xpath 或 css 选择器)而不是使用 .iterlinks()

关于python - 如何使用 lxml 和 iterlinks 替换链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789127/

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