繁体   English   中英

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

[英]How to extract a part of data, that we get from website using 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

如何解决此问题,请帮我该怎么办,我需要将程序打印为线条

  • 对我的语言感到抱歉,这是我要发布的第一个问题

如果您使用的是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)

更新:

如果您只想打印给定网址的第二行,则可以执行以下操作:

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>
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开头的行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM