2012-09-03 2 views
-2

이 웹 사이트의 모든 사진을 얻으려면 스크립트를 사용하고 싶습니다. 크롬 개발자 도구를 사용하여 메인 페이지의 소스 코드를 보았습니다. 이 이미지 URL은이 웹 사이트에서 모든 사진을 다운로드하는 방법 : huaban.com

src="http://img.hb.aicdn.com/3e32a8b101e515b9e7dbe8f5a2e47afff5ec6bcf4e4a-OTvsuu_fw192 

처럼하지만 난이 페이지를 다운로드하거나하는 wget 또는 curl을 사용하는 경우 브라우저에서 해당 HTML 파일에 이러한 링크가 없다 "포장 저장"을 선택합니다. 모든 링크를 얻는 방법을 모르겠습니다. 또 다른 문제는 페이지를 아래로 스크롤하면 이미지가 연속적으로 나옵니다. 전체 페이지를 가져올 방법이 있는지 모르겠습니다.

+0

"해당 HTML 파일에는 이러한 링크가 없습니다." 정확히 무엇을 의미합니까? –

+0

wget에서 반환 된 html에 링크가 없는데도 스크롤 할 때 나타나는 것처럼 계속 표시됩니다. 자바 스크립트를 사용하여 동적으로로드 된 것입니다. 따라서 HTML을 파싱하거나 브라우저에서 '생성 된'소스를 복사하기 전에 javascript를 실행할 수있는 라이브러리가 필요합니다. –

+0

은 다운로드 한 HTML에 img URL이 없음을 의미합니다. – JeromeCui

답변

1

최종 페이지에 URL을 게시하여 사진을 모두 다운로드 할 수 있습니까?

또는 http://huaban.com/ 방문 페이지의 모든 이미지? 당신이 당신의 파일 시스템에있는 파일에 이미지 URL을 '저장'할 수있는 다음 코드로

:

image_path = 'http://img.hb.aicdn.com/3e32a8b101e515b9e7dbe8f5a2e47afff5ec6bcf4e4a-OTvsuu_fw192' 
with open(r'<path_to_file>.jpg', 'wb') as image: 
    image.write(urllib2.urlopen(image_path).read()) 

그러나 '소스'하는 Pathes 이미지를 검색 할 수 ... 나는 그들이에 의해 생성 될 우려 javascript 구성 요소가 없기 때문에 많은 대안이 없습니다.

어쩌면 하나 개의 솔루션은 최종 (JS-buidled) HTML 콘텐츠를 얻을 수 Python-Spidermonkey 같은 머리없는 브라우저 또는 자바 스크립트 엔진 브리지를 사용하는 것이 될 수있다.

-Colin-

+0

네가 무슨 뜻인지 알 겠어. 내가하고 싶은 것은'http : // huaban.com/pins/17989365 /'와 같은이 메인 페이지의 모든 이미지 링크를 얻은 다음이 링크를 사용하여'http://huaban.com/pins '와 같은 링크를 얻는 것입니다./17989365/zoom /'을 선택하고 마지막으로 큰 그림을이 페이지에 다운로드하십시오. 감사. – JeromeCui

+0

필자는 글을 업데이트 했으므로 최종 ( 태그 포함) html 콘텐츠를 요청하고 구문 분석하려면 헤드리스 브라우저 또는 Python-Spidermonkey와 같은 JavaScript 엔진 브리지를 사용해야한다고 우려합니다. 그러나 스파이더 맨 키 환경을 설정하는 것은 쉽지도 사소한 것도 아닙니다. 해당 라이브러리의 설치에는 C- 컴파일 부분이 포함되어 있기 때문입니다. 당신은 C 컴파일을 포함한 소스의 * setup * python 라이브러리에 익숙합니까? –

+0

좋아, 그걸 시도 할께. 조금 까다 롭습니다. – JeromeCui

관련 문제