Właściwie Najprostszym sposobem jest:
import urllib2 # the lib that handles the url stuff
data = urllib2.urlopen(target_url) # it's a file like object and works just like a file
for line in data: # files are iterable
print line
Nie trzeba nawet "readlines", jak to sugeruje. Możesz nawet skrócić go do
import urllib2
for line in urllib2.urlopen(target_url):
print line
Ale pamiętaj, że w Pythonie liczy się czytelność.
Jest to jednak najprostszy, ale nie bezpieczny sposób, ponieważ przez większość czasu przy programowaniu sieciowym nie wiesz, czy ilość danych, których można oczekiwać, będzie przestrzegana. Więc chcesz generalnie lepiej czytać stałą i wystarczającą ilość danych, coś wiesz na tyle do danych można oczekiwać, ale uniemożliwi skrypt z zostały zalane:
import urllib2
data = urllib2.urlopen("http://www.google.com").read(20000) # read only 20 000 chars
data = data.split("\n") # then split it into lines
for line in data:
print line
Edit 09/2016: In python 3 and up use urllib.request instead of urllib2
+1, ale należy pamiętać, że jest to najprostszy sposób, a NIE SAFEST. Jeśli jakikolwiek błąd wystąpi po stronie serwera i ta jedna treść dostarczania na zawsze, możesz skończyć z nieskończoną pętlą. –