2

ばかげているように聞こえるかもしれませんがurllib2、URL を開いて、設定された数の行だけが返されるようにすることは可能ですか?

その理由は、特に私が扱っている非常に大きなページの場合、読み込み時間を短縮するためです。たとえば、これは私のページです。

1. <html>
2.  <head>
3.   <title>Hello!</title>
4.  </head>
5.  <body>
6.   <p>Hi there.</p>
7.  </body>
8. </html>

たとえば、ページを 5 行目まで開き、読み取ったページを印刷すると、次のようになります。

1. <html>
2.  <head>
3.   <title>Hello!</title>
4.  </head>
5.  <body>

これはまったく可能ですか?

4

3 に答える 3

3

readline()確かに、代わりに使用できますread()

import urllib2

req = urllib2.Request('http://www.python.org')
response = urllib2.urlopen(req)

lines = ""
for x in range(10):
        lines += response.readline()

print(lines)
于 2012-06-11T02:11:44.653 に答える
0

一発ギャグ:

from itertools import islice

list(islice(urlopen("http://www.python.org"), 5))
于 2012-06-11T09:17:34.903 に答える
0

しきい値を設定して、readlines ループから抜け出すだけです。

import urllib2

req = urllib2.Request('http://www.python.org')
response = urllib2.urlopen(req)

read_until = 5    

lines = []
for line_number, line in enumerate(response.readlines()):
    if line_number >= read_until:
        break
    else:
        lines.append(line)
于 2012-06-11T03:07:44.347 に答える