Python 查找与查找替换美汤

发布于 2024-11-19 21:53:28 字数 746 浏览 2 评论 0原文

我正在使用 Beautiful Soup 用 HTML 文件中的 href 链接替换出现的模式

我遇到了如下所述的问题

modified_contents = re.sub("([^http://*/s]APP[a-z]{2}[0-9]{2})", "<a href=\"http://stack.com=\\1\">\\1</a>", str(soup))

示例输入 1:

Input File contains APPdd34

Output File contains <a href="http://stack.com=APPdd34"> APPdd34</a>

示例输入 2:

Input File contains <a href="http://stack.com=APPdd34"> APPdd34</a>

Output File contains <a href="http://stack.com=<a href="http://stack.com=APPdd34"> APPdd34</a>"> <a href="http://stack.com=APPdd34"> APPdd34</a></a>

所需的输出文件 2 与示例输入文件 2 相同。

如何才能我纠正这个问题吗?

I am using Beautiful Soup to replace the occurrences of a pattern with a href link inside a HTML file

I am facing a problem as described below

modified_contents = re.sub("([^http://*/s]APP[a-z]{2}[0-9]{2})", "<a href=\"http://stack.com=\\1\">\\1</a>", str(soup))

Sample input 1:

Input File contains APPdd34

Output File contains <a href="http://stack.com=APPdd34"> APPdd34</a>

Sample input 2:

Input File contains <a href="http://stack.com=APPdd34"> APPdd34</a>

Output File contains <a href="http://stack.com=<a href="http://stack.com=APPdd34"> APPdd34</a>"> <a href="http://stack.com=APPdd34"> APPdd34</a></a>

Desired Output File 2 is same as Sample Input File 2.

How can I rectify this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南街九尾狐 2024-11-26 21:53:28

这可能无法完全回答您的问题,因为我不知道整个输入文件可能是什么样子,但我希望这是您可以采取的方向。

from BeautifulSoup import BeautifulSoup, Tag
text = """APPdd34"""
soup = BeautifulSoup(text)
var1 = soup.text
text = """<a href="http://stack.com=APPdd34"> APPdd34</a>"""
soup = BeautifulSoup(text)
var2 = soup.find('a').text

soup = BeautifulSoup("<p>Some new html</p>")
tag1 = Tag(soup, "a",{'href':'http://stack.com='+var1,})
tag1.insert(0,var1) # Insert text
tag2 = Tag(soup, "a",{'href':'http://stack.com='+var2,})
tag2.insert(0,var2)
soup.insert(0,tag1)
soup.insert(3,tag2)
print soup.prettify()

所以基本上,只需使用 BeautifulSoup 提取文本,然后您就可以从那里构建标签。

This may not entirely answer your problem because I don't know an entire input file could look like, but I hope this is a direction you can take.

from BeautifulSoup import BeautifulSoup, Tag
text = """APPdd34"""
soup = BeautifulSoup(text)
var1 = soup.text
text = """<a href="http://stack.com=APPdd34"> APPdd34</a>"""
soup = BeautifulSoup(text)
var2 = soup.find('a').text

soup = BeautifulSoup("<p>Some new html</p>")
tag1 = Tag(soup, "a",{'href':'http://stack.com='+var1,})
tag1.insert(0,var1) # Insert text
tag2 = Tag(soup, "a",{'href':'http://stack.com='+var2,})
tag2.insert(0,var2)
soup.insert(0,tag1)
soup.insert(3,tag2)
print soup.prettify()

So basically, just use BeautifulSoup to extract the text and then you can build Tags from there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文