Filtering HTML with python: Difference between revisions
(Created page with "<source lang="python"> from urllib.parse import urljoin def absolute_hrefs(html, baseurl): t = html5lib.parseFragment(html, treebuilder = "etree", namespaceHTMLElements =...") |
No edit summary |
||
Line 1: | Line 1: | ||
== Absolutizing hrefs in HTML == | |||
<source lang="python"> | <source lang="python"> | ||
from urllib.parse import urljoin | from urllib.parse import urljoin |
Revision as of 16:59, 23 May 2020
Absolutizing hrefs in HTML
from urllib.parse import urljoin
def absolute_hrefs(html, baseurl):
t = html5lib.parseFragment(html, treebuilder = "etree", namespaceHTMLElements = False)
for a in t.findall(".//*[@href]"):
linkclass = a.attrib.get("class", "")
href = urljoin(baseurl, a.attrib.get("href"))
a.attrib['href'] = href
html = ET.tostring(t, method="html", encoding="unicode")
return html