有图片的地址,如:http://i2.pixiv.net/img-original/img/201...
还有登陆后获取的cooikes:Connection cookies(Map<String, String> cookies);
登陆和获取cooikes以及解析页面是使用的jsoup。
但是需要登陆后才能获取,使用以下代码:
private void downloadImg(String imgURL) throws MalformedURLException, IOException {
URL url = new URL(imgURL);
URLConnection uc = url.openConnection();
InputStream is = uc.getInputStream();
File file = new File("D:\\pixiv");
FileOutputStream out = new FileOutputStream(file);
int i = 0;
while ((i = is.read()) != -1) {
out.write(i);
}
is.close();
}
只能下载不需要登陆的页面的图片。
要如何使用jsoup带cooikes来从网站下载图片
Masalah telah diselesaikan Gunakan Firebug untuk menangkap paket permintaan yang dihantar semasa menyemak imbas gambar dalam penyemak imbas dan kemudian gunakan binaan URLConnection untuk menghantar paket permintaan dengan kuki mengikut formatnya. Kelajuan muat turun terlalu perlahan untuk imej yang lebih besar daripada 1M.
Tidak kira apa yang anda gunakan untuk menghuraikan HTML, satu-satunya perkara yang menentukan log masuk anda ialah kuki dalam permintaan http, jadi anda boleh membuat permintaan log masuk dahulu, dapatkan kuki daripada http res, dan kemudian tetapkan kuki kepada permintaan http seterusnya Ini melengkapkan operasi penyemak imbas untuk mengekalkan kuki, dan data sumber yang memerlukan log masuk boleh dimuat turun
Selepas mengekstrak img src, jika anda menggunakan URLConnection untuk memuat turun gambar, adakah anda mempunyai kebenaran untuk menyemak sama ada terdapat sesuatu seperti session_id dalam laman web, secara ringkasnya, ketahui ID log masuk pengguna dan letakkan beberapa ID dalam img src
Gunakan
apache httpClient
untuk mensimulasikan log masuk