【发布时间】:2008-12-09 00:48:28
【问题描述】:
我发现使用脚本从维基百科下载文本的唯一可靠方法是使用 cURL。到目前为止,我这样做的唯一方法是致电os.system()。即使输出正确显示在 python shell 中,我似乎无法返回除退出代码(0)以外的任何内容。或者有人可以展示如何正确使用urllib。
【问题讨论】:
标签: python shell curl urllib os.system
我发现使用脚本从维基百科下载文本的唯一可靠方法是使用 cURL。到目前为止,我这样做的唯一方法是致电os.system()。即使输出正确显示在 python shell 中,我似乎无法返回除退出代码(0)以外的任何内容。或者有人可以展示如何正确使用urllib。
【问题讨论】:
标签: python shell curl urllib os.system
import urllib
sock = urllib.urlopen("http://en.wikipedia.org/wiki/Python_(programming_language)")
htmlsource = sock.read()
sock.close()
print htmlsource
这将打印出 Python 维基百科文章的源代码。我建议您查看 Dive into Python 了解更多详细信息。
使用来自Python Library Reference: 的 urllib2 的示例
import urllib2
f = urllib2.urlopen('http://www.python.org/')
print f.read(100)
编辑:您也可能想看看wget.
Edit2:根据 S.Lott 的建议添加了 urllib2 示例
【讨论】:
回答问题, Python 有一个 subprocess 模块,它允许您与衍生的进程进行交互。http://docs.python.org/library/subprocess.html#subprocess.Popen
它允许您读取被调用进程的标准输出,甚至可以将项目发送到标准输入。
但是,正如您所说,urllib 是一个更好的选择。如果你 searchstackoverflow 我相信你会发现至少 10 个其他相关问题......
【讨论】:
作为 urllib 的替代品,您可以使用 libCurl Python bindings。
【讨论】: