有图片的地址,如: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来从网站下载图片
ringa_lee2017-04-17 17:43:15
문제가 해결되었습니다. Firebug를 사용하여 브라우저에서 사진을 탐색할 때 전송된 요청 패킷을 캡처한 다음 URLConnection 구성을 사용하여 해당 형식에 따라 쿠키와 함께 요청 패킷을 보냅니다. 1M보다 큰 이미지의 경우 다운로드 속도가 너무 느립니다.
으아아아ringa_lee2017-04-17 17:43:15
HTML을 구문 분석하는 데 무엇을 사용하든 로그인을 결정하는 유일한 것은 http 요청의 쿠키이므로 먼저 로그인 요청을 하고 http res에서 쿠키를 가져온 다음 쿠키를 다음 http 요청을 통해 브라우저의 쿠키 유지 작업이 완료되고 로그인이 필요한 리소스 데이터를 다운로드할 수 있습니다.
PHP中文网2017-04-17 17:43:15
img src를 추출한 후 URLConnection을 사용하여 사진을 다운로드하는 경우 권한이 있습니까? 웹 사이트에 session_id와 같은 것이 있는지 확인하십시오. 즉, 사용자 로그인 ID를 찾아 img src에 일부 ID를 입력하십시오. >