gpt4 book ai didi

Python 在可用时逐行读取网站数据

转载 作者:太空狗 更新时间:2023-10-29 17:02:13 26 4
gpt4 key购买 nike

我正在使用 urllib2 从 url 中读取数据,下面是代码片段:

data = urllib2.urlopen(urllink)
for lines in data.readlines():
print lines

我打开的 Url 实际上是一个 cgi 脚本,它进行一些处理并并行打印数据。 CGI 脚本大约需要 30 分钟才能完成。所以对于上面的代码,当 CGI 脚本执行完成后,我只能在 3o 分钟后看到输出。

如何在数据可用时从 url 中读取数据并打印出来。

最佳答案

只需在文件对象上直接循环:

for line in data:
print line

这会逐行读取传入的数据流(在内部,每次迭代时套接字文件对象都会调用 .readline())。这确实假设您的服务器正在尽快发送数据。

调用 .readlines()(复数)保证您在开始循环之前阅读整个请求,不要那样做。

或者,使用 requests library ,它对请求流有更明确的支持:

import requests

r = requests.get(url, stream=True)

for line in r.iter_lines():
if line: print line

请注意,这仅在您的服务器立即开始流式传输数据时才有效。如果您的 CGI 在流程完成之前不生成数据,则尝试流式传输数据毫无意义。

关于Python 在可用时逐行读取网站数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16870648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com