【问题标题】:How to replace URLs in HTML Document using BeautifulSoup如何使用 BeautifulSoup 替换 HTML 文档中的 URL
【发布时间】:2022-01-20 08:26:33
【问题描述】:

我正在尝试使用 BeautifulSoup 删除 HTML 文档中的所有 URL 链接,只留下相对链接(而不是绝对链接)。 例如,我正在尝试构建代码来转换这个 HTML 标记:

<a href="https://www.mertens-stahl.de/berlin/unternehmen.php">

进入这个:

<a href="/berlin/unternehmen.php">

我还没有遇到可行的解决方案,所以到目前为止我的代码示例如下所示:

url = https://www.mertens-stahl.de
html = requests.get("https://www.mertens-stahl.de/berlin/downloads.php").text
soup = BeautifulSoup(html, "html.parser")
soup.find(url).replace_with("")

这会产生错误AttributeError: 'NoneType' object has no attribute 'replace_with',所以我正在寻找解决此问题的正确方法。谢谢!

【问题讨论】:

    标签: python html beautifulsoup


    【解决方案1】:

    这应该可以解决问题

    from urllib.parse import urlparse
    links=soup.select('a[href^="https://www.mertens-stahl.de"]')
    for link in links:
        link['href']=urlparse(link['href']).path
    

    【讨论】:

    • 非常感谢,成功了!
    猜你喜欢
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多