2017-02-07 5 views
2

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

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

  • жаль мой язык, это мой первый вопрос к сообщению

ответ

1
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 [email protected] Tue Mar 04 03:33:20 2003 

From: "Glenn R. Golden" <[email protected]> 

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

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

+1

Спасибо, это действительно помогло мне –

+0

@ Karthik Bodapati добро пожаловать в SO –

2

Если вы используете 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) 

Update:

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

print(data[1]) 
>>> 'From: "Glenn R. Golden" <[email protected]>' 

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

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

Выход:

From [email protected] Tue Mar 04 03:33:20 200 
From: "Glenn R. Golden" <[email protected]> 
+0

Но мне не нужно печатать все данные мне нужно напечатать конкретная строка –

+0

Просьба уточнить, какую строку вы хотите распечатать или извлечь. И, пожалуйста, обновите свой вопрос. –

+0

Линия начинается с 'From:' (2-я строка) –

Смежные вопросы