Как извлечь часть данных, которые мы получаем с сайта, используя 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>