2017-02-17 1 views
0

ich diese Worte wie diesewie Wörter einer Zeichenfolge in Python aus einer Datendatei verketten

[’<html>’, ’<head>’, ’<title>’, ’This’, ’is’, ’the’, 
’web’, ’page’, ’for’, ’exercise’, ’1’, ’</title>’, 
’</head>’, ’<body>’, ’<h1>’, ’Hello’, ’world’, ’</h1>’, 
’<p>’, ’Oh’, ’I’, ’do’, ’like’, ’to’, ’be’, ’beside’, 
’the’, ’seaside’, ’</p>’, ’<p>’, ’Oh’, ’I’, ’do’, 
’like’, ’to’, ’be’, ’beside’, ’the’, ’sea’, ’</p>’, 
`’<p>’, ’Here’, ’is’, ’some’, ’<em>’, ’emphasised’, 
’text’, ’</em>’, ’</p>’, ’</body>’, ’</html>’] 

in etwas zu formatieren müssen:

Page Title : The title of the ex1 page 
HEADING: Hello world 
PARAGRAPH: Oh I do like to be beside the seaside 
PARAGRAPH: Oh I do like to be beside the sea 
PARAGRAPH: Here is some *emphasised text* 

Ich habe eine Schleife für die bisher verwendeten Tags, aber kann nicht einen Ansatz zur Formatierung der Wörter dazwischen denken.

mein Code so weit wie folgt:

#!/usr/bin/env python 

import urllib 
url = "....." //removed 
data = urllib.urlopen(url) 
tokens = data.read().split() 

for token in tokens: 
    if token == '<body>': 
    print token == '' 
    elif token == '<title>': 
    print "Page Title :" 
    elif token == '<h1>': 
    print "Heading:" 
    elif token == '<p>': 
    print "Paragraph:" 
    elif token == '</p>': 
    print token == '' 
    elif token == '<body>': 
    print token == '' 
    elif token == '</body>': 
    print token == '' 
    elif token == '</title>': 
    print token == '' 
    elif token == '</head>': 
    print token == '' 
    elif token == '</h1>': 
    print token == '' 
    elif token == '<em>': 
    print token == '' 
    elif token == '<head>': 
    print token == '' 
    elif token == '<html>': 
    print token == '' 
    elif token == '</html>': 
    print token == '' 
    elif token == '</em>': 
    print token == '' 
    else: 
    print token 

Was würde ich dies zu vollenden zu tun denken müssen?

+0

Was ist mit etwas, das eine HTML-Zeichenfolge in ein Wörterbuch umwandelt? Ich würde das zuerst versuchen. Ihre Lösung scheint die naive Lösung zu sein. – Elmex80s

+0

Das erste, was Sie zeigen, ist kein gültiges Python-Literal, die "Curly Quotes" funktionieren nicht. Ich würde empfehlen, dass Sie sich einen echten HTML-Parser ansehen, wie Beautiful Soup. – jonrsharpe

Antwort

0

Warum benutzen Sie nicht 'BeautifulSoup'.

from bs4 import BeautifulSoup 
import requests 

html=requests.get('link') 

soup = BeautifulSoup(html.text) 
soup.find_all('title') 
soup.find_all('a') 
... 
+0

Ich glaube nicht, dass ich das berechtigt nutzen könnte. Vielen Dank –

Verwandte Themen