Links aus HTML auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
danims
User
Beiträge: 29
Registriert: Montag 19. Februar 2007, 20:23
Wohnort: Bern, Schweiz

Hallo

Nach längerem Suchen bin ich trotzdem nicht fündig geworden.

Ich möchte sämtliche "Link-Konstrukte" einer HTML Seite auslesen.

Die Datei auslesen funktioniert soweit:

Code: Alles auswählen

import urllib
import re

fp = urllib.urlopen(http://........html)
data = fp.read()
Jetzt hat die html seite aber unterschiedliche anzahl an hyperlinks:

<a href="LINK">BESCHREIBUNG</a>

Die kursiv-fetten Angaben möchte ich irgendwie in einem Array haben.

Hat jemand eine Idee oder hat jemand ein Scriptbeispiel zur hand für mich, Python anfänger :-)?

Besten Dank!
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

benutzt die Forumsuche!

Dafür gibt es 100% eins!

SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

HI

Beautiful Soup ist was für dich

Gruss
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Hi und willkommen im Forum:

Lade dir BeautifulSoup runter und lese dir die documentation durch. Das Modul ist richtig gut und intuitive (IMHO) benutzbar :) -- Selten so ein einfaches zu benutzendes Modul gesehen, für ein nicht so ganz Triviales Thema.

lg
Benutzeravatar
danims
User
Beiträge: 29
Registriert: Montag 19. Februar 2007, 20:23
Wohnort: Bern, Schweiz

ja, den da: http://www.python-forum.de/topic-3916.h ... s+auslesen

aber damit komm ich irgendwie auch nicht weiter :-(
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo danims!

Ich bin mal so frei... :P

http://www.python-forum.de/topic-4664.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
stasikz
User
Beiträge: 18
Registriert: Donnerstag 5. Juli 2007, 21:34

Hallo Community!

ich stehe wieder vor einem Problem. Ich würde gerne die Links aus einer HTML datei auslesen, die als href="....." nur bestimme Adressen haben. Also nur die Adressen rausfiltern, die in meine Suchmaske passen.
Ich hab schon dieses kleine Tutorial angesehen, aber leider kann ich das noch nicht auf mein Problem anwenden :(
Bitte um die Hilfe

Edit: habs doch hingekriegt. ich hätte besser von Anfang an die BeautifulSoup Anleitung zu ENDE lesen sollen :)
hab das so gemacht:

Code: Alles auswählen

import re
from BeautifulSoup import BeautifulSoup, SoupStrainer

html_file = open('datei.html') 
soup = html_file.read()
html_file.close()

links = SoupStrainer('a', href=re.compile('www.bestimme/adresse/de/'))
adressen = [adr for adr in BeautifulSoup(soup, parseOnlyThese=links)]

for i in adressen:
    print i
Antworten