gpt4 book ai didi

Python BeautifulSoup 相当于 lxml make_links_absolute

转载 作者:太空狗 更新时间:2023-10-29 20:44:21 24 4
gpt4 key购买 nike

所以lxml有个很手的特性:make_links_absolute:

doc = lxml.html.fromstring(some_html_page)
doc.make_links_absolute(url_for_some_html_page)

并且文档中的所有链接现在都是绝对的。 BeautifulSoup 中是否有一个简单的等价物,或者我只需要通过 urlparse 传递它并对其进行规范化:

soup = BeautifulSoup(some_html_page)
for tag in soup.findAll('a', href=True):
url_data = urlparse(tag['href'])
if url_data[0] == "":
full_url = url_for_some_html_page + test_url

最佳答案

在我对 What is a simple way to extract the list of URLs on a webpage using python? 的回答中作为提取步骤的一部分,我顺便提到了这一点;您可以轻松地编写一个方法来处理汤,而不仅仅是提取它。

from urllib.parse import urljoin

def make_links_absolute(soup, url):
for tag in soup.findAll('a', href=True):
tag['href'] = urljoin(url, tag['href'])

(Python 2:从 urlparse 导入 urljoin。)

关于Python BeautifulSoup 相当于 lxml make_links_absolute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4468410/

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