Rumah > Soal Jawab > teks badan
Seperti yang ditunjukkan dalam gambar, adalah sangat menyusahkan untuk melihat dan memuatkan imej melalui rangkaian dengan mengklik kanan satu demi satu untuk menyimpannya. Adakah terdapat sebarang cara untuk menulis perangkak untuk menangkap imej secara berkumpulan di sini?
仅有的幸福2017-06-28 09:27:48
Keperluan ini, jika anda tahu cara merangkak, sebenarnya sangat mudah, hanya beberapa langkah:
Laman utama atau halaman dengan gambar, dapatkan gambarurl
Akses alamat url imej di atas melalui perpustakaan requests
库或者urllib
Tulis ke cakera keras tempatan dalam format binari
Kod rujukan:
import re, requests
r = requests.get("http://...页面地址..")
p = re.compile(r'相应的正则表达式匹配')
image = p.findall(r.text)[0] # 通过正则获取所有图片的url
ir = requests.get(image) # 访问图片的地址
sz = open('logo.jpg', 'wb').write(ir.content) # 将其内容写入本地
print('logo.jpg', sz,'bytes')
Untuk butiran lanjut, anda boleh rujuk dokumen rasmi: dokumen permintaanrequests
女神的闺蜜爱上我2017-06-28 09:27:48
Ya,
Lima bahagian perangkak:
Penjadual
Penyahduplikasi URL
Pemuat turun
Penghuraian halaman web
Storan data
Idea untuk memuat turun imej ialah:
Dapatkan kandungan halaman web di mana teg img berada, , dapatkan alamat imej, dan kemudian URL gambar yang mudah, muat turun setiap gambar, simpan alamat gambar yang dimuat turun dalam penapis Bloom untuk mengelakkan muat turun berulang, setiap kali anda memuat turun gambar, semak sama ada ia telah dimuat turun melalui URL, apabila gambar dimuat turun ke tempatan, anda boleh Simpan laluan imej dalam pangkalan data dan fail imej dalam folder, atau simpan imej terus dalam pangkalan data.
python menggunakan request+beautifulsoup4
java menggunakan jsoup
女神的闺蜜爱上我2017-06-28 09:27:48
Jika beberapa laman web atau satu laman web perlu dirangkak dengan sangat dalam, kaedah di atas boleh secara terus rekursif atau traversal dalam