如何提取我们使用url.open()从网站获取的部分数据

2024-06-16 10:00:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个连接到这个网站的程序

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

怎么修这个请帮帮我 怎么办,我需要我的程序打印为行

  • 对不起,我的语言,这是我的第一个问题张贴

Tags: 程序httpurldatanet网站电子邮件line
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>'

否则,如果要打印以FromFrom:开头的所有行,可以执行以下操作:

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>

相关问题 更多 >