2017-06-20 4 views
0

so habe ich den HTML-Code einer Webseite heruntergeladen. Ich soll alle Links aus dem HTML extrahieren und ausgeben. Hier ist mein CodeSo extrahieren Sie Links aus HTML (mit Python)

f = open('html.py','r') 
heb = f.readlines() 
arry = [] 
if 'href' in heb: 
    arry = arry.append(href) 

    print(arry) 

Ich versuche, eine Liste der Links und gibt es zu machen, aber ehrlich gesagt bin ich ziemlich verloren. Kann mir jemand in die richtige Richtung zeigen? Ich war wahrscheinlich regex zu denken ist der Weg dank

+1

nicht regex auf HTML verwenden! Verwenden Sie einen HTML-Parser wie BeautifulSoup. – kevinsa5

+1

Mögliches Duplikat von [rufen Sie Links von der Webseite mit Python und BeautifulSoup ab] (https://stackoverflow.com/questions/1080411/retrieve-links-from-web-page-using-python-and-beautifulsoup) –

Antwort

2

Sie gehen können schöne Suppe verwenden (die Sie installieren müssen, beispielsweise mit pip install BeautifulSoup4):

import bs4 

with open("my-file.html") as f: 
    soup = bs4.BeautifulSoup(f) 

links = [link['href'] for link in soup('a') if 'href' in link.attrs] 
Verwandte Themen