Więc lxml posiada funkcję bardzo rąk: make_links_absolute:Python BeautifulSoup równoważne lxml make_links_absolute
doc = lxml.html.fromstring(some_html_page)
doc.make_links_absolute(url_for_some_html_page)
i wszystkie linki w dokumencie są absolutne teraz. Czy istnieje prosty odpowiednik w BeautifulSoup czy mogę po prostu trzeba przekazać go przez urlparse i znormalizować go:
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
Nie jestem zaznajomiony z lxml, ale normalizacja adresu URL nie jest tak łatwa. Czy naprawdę chcesz je znormalizować, czy tylko uczynić je absolutnymi? –