python - Bagaimana menggunakan perangkak untuk merangkak imej dari halaman web secara berkelompok?
给我你的怀抱
给我你的怀抱 2017-06-28 09:25:48
0
3
1213

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?

给我你的怀抱
给我你的怀抱

membalas semua(3)
仅有的幸福

Keperluan ini, jika anda tahu cara merangkak, sebenarnya sangat mudah, hanya beberapa langkah:

  1. Laman utama atau halaman dengan gambar, dapatkan gambarurl

  2. melalui ungkapan biasa atau rangka kerja lain
  3. Akses alamat url imej di atas melalui perpustakaan requests库或者urllib

  4. 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

女神的闺蜜爱上我

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

女神的闺蜜爱上我

Jika beberapa laman web atau satu laman web perlu dirangkak dengan sangat dalam, kaedah di atas boleh secara terus rekursif atau traversal dalam

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan