Sunting 09/2016: Dalam Python 3 dan yang lebih baru, gunakan urllib.request alih-alih urllib2
Sebenarnya cara yang paling sederhana adalah:
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
Anda bahkan tidak perlu "readlines", seperti yang disarankan Will. Anda bahkan dapat mempersingkatnya menjadi: *
import urllib2
for line in urllib2.urlopen(target_url):
print line
Tapi ingat dengan Python, keterbacaan itu penting.
Namun, ini adalah cara yang paling sederhana tetapi bukan cara yang aman karena sebagian besar waktu dengan pemrograman jaringan, Anda tidak tahu apakah jumlah data yang diharapkan akan diterima. Jadi, Anda biasanya lebih baik membaca jumlah data yang tetap dan wajar, sesuatu yang Anda tahu cukup untuk data yang Anda harapkan tetapi akan mencegah skrip Anda dibanjiri:
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
* Contoh kedua di Python 3:
import urllib.request # the lib that handles the url stuff
for line in urllib.request.urlopen(target_url):
print(line.decode('utf-8')) #utf-8 or iso8859-1 or whatever the page encoding scheme is
The permintaan perpustakaan memiliki antarmuka sederhana dan bekerja dengan baik Python 2 dan 3.
sumber
sumber
sumber
Cara lain di Python 3 adalah dengan menggunakan paket urllib3 .
Ini bisa menjadi pilihan yang lebih baik daripada urllib karena urllib3 membanggakan
sumber
Bagi saya, tidak ada tanggapan di atas yang bekerja langsung ke depan. Sebagai gantinya, saya harus melakukan hal berikut (Python 3):
sumber
Hanya memperbarui solusi di sini yang disarankan oleh @ ken-kinder agar Python 2 berfungsi untuk Python 3:
sumber