我发现使用脚本从维基百科下载文本的唯一可靠方法是使用 cURL。到目前为止,我这样做的唯一方法是调用os.system()
. 即使输出在 python shell 中正确显示,我似乎无法让函数返回除退出代码(0
)之外的任何内容。或者有人可以展示如何正确使用urllib
.
GameFreak
问问题
1859 次
3 回答
7
import urllib
sock = urllib.urlopen("http://en.wikipedia.org/wiki/Python_(programming_language)")
htmlsource = sock.read()
sock.close()
print htmlsource
这将打印出 Python Wikipedia 文章的源代码。我建议您查看 Dive into Python 了解更多详细信息。
使用Python 库参考中的 urllib2 的示例:
import urllib2
f = urllib2.urlopen('http://www.python.org/')
print f.read(100)
编辑:您也可能想看看wget。
Edit2:根据 S.Lott 的建议添加了 urllib2 示例
于 2008-12-09T01:01:28.427 回答
2
回答这个问题,Python 有一个子进程模块,它允许您与生成的进程进行交互。http://docs.python.org/library/subprocess.html#subprocess.Popen
它允许您读取调用进程的标准输出,甚至将项目发送到标准输入。
但是,正如您所说, urllib 是一个更好的选择。如果您搜索stackoverflow,我相信您会发现至少 10 个其他相关问题...
于 2008-12-09T00:55:36.160 回答
0
作为 urllib 的替代品,您可以使用 libCurl Python bindings。
于 2008-12-09T01:00:21.877 回答