2017-02-07 2 views
2

は、私はそれを解析し、その中に電子メールを取得する必要があり、このウェブサイトに

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 

が、それは私が

それから特定の行を印刷しようとすると、同様の代わりに言葉 の個々の文字を印刷します何をすべきか 私を助けてくださいどのようにこの問題を解決するには

、私はライン

私の言語について申し訳ありません
  • として印刷するように私のプログラムを必要とする、これはあなたの場合は

答えて

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()From

+1

ありがとう、本当に助けてくれました –

+0

@Karthik Bodapatiようこそ –

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) 

更新:

指定したURLから2行目のみを印刷したい場合は、あなたがこのような何か行うことができます。それ以外の場合は

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

で始まる行を取得するために使用startswith()

ファイル内の各行を取得するしかし、私は印刷する必要があるすべてのデータを印刷する必要はありません。特定の行 –

+0

印刷または抽出する行を明確にしてください。そしてあなたの質問も更新してください。 –

+0

行は 'From:'(2行目)から始まります –