Как извлечь часть данных, которые мы получаем с сайта, используя url.open()

Я написал программу, которая подключается к этому сайту

http://mbox.dr-chuck.net/sakai.devel/1/2

Мне нужно разобрать его и получить электронную почту на этом сайте

url = http://mbox.dr-chuck.net/sakai.devel/1/2
data = urllib.urlopen(url).read()
for line in data:
    templine = line.strip()
    print templine

но он печатает отдельные буквы вместо слов, например, когда я пытаюсь распечатать конкретную строку из него

F
r
o
m

n
e
w
s

Как это исправить, пожалуйста, помогите мне, что делать, мне нужна моя программа для печати в виде линий

  • извините за мой язык, это мой первый вопрос

2 ответа

Решение
url = 'http://mbox.dr-chuck.net/sakai.devel/1/2'
data = urllib.urlopen(url).readlines()
for line in data:
    if line.startswith('From'):
        print (line)

из:

From news@gmane.org Tue Mar 04 03:33:20 2003

From: "Glenn R. Golden" <ggolden@umich.edu>

использование readlines() чтобы получить каждую строку в файле

использование startswith() чтобы получить строку, которая начинается с From

Если вы используете python3Вы можете сделать что-то вроде этого:

from urllib.request import urlopen

data = urlopen("http://mbox.dr-chuck.net/sakai.devel/1/2").read().decode("utf8").split("\n")

for k in data:
    print(k)

Обновить:

Если вы хотите напечатать только вторую строку из данного URL, вы можете сделать что-то вроде этого:

print(data[1])
>>> 'From: "Glenn R. Golden" <ggolden@umich.edu>'

в противном случае, если вы хотите напечатать все строки, которые начинаются с From или же From:Вы можете сделать что-то вроде этого:

for k in data:
    if k.split(" ")[0] == "From" or k.split(" ")[0] == "From:":
        print(k)

Выход:

From news@gmane.org Tue Mar 04 03:33:20 200
From: "Glenn R. Golden" <ggolden@umich.edu>
Другие вопросы по тегам