inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

파이썬으로 html 파일 업로드

강의잘듣고공부중입니다~^^작성중에 url 에 특정이미지를 크롤링하는걸 배웠는데도 에러가떠서 한수부탁드려요ㅜ

478

b1unique2222

작성한 질문수 1

0

"""
dumpimages.py
    Downloads all the images on the supplied URL, and saves them to the
    specified output file ("/test/" by default)

Usage:
    python dumpimages.py https://www.1688.com// [output]
"""
from bs4 import BeautifulSoup as bs
from urllib.request import (
    urlopen, urlparse, urlunparse, urlretrieve)
import os
import sys

def main(url, out_folder="/test/"):
    """Downloads all the images at 'url' to /test/"""
    soup = bs(urlopen(url))
    parsed = list(urlparse(url))

    for image in soup.findAll("img"):
        print("Image: %(src)s" % image)
        filename = image["src"].split("/")[-1]
        parsed[2] = image["src"]
        outpath = os.path.join(out_folder, filename)
        if image["src"].lower().startswith("http"):
            urlretrieve(image["src"], outpath)
        else:
            urlretrieve(urlunparse(parsed), outpath)

def _usage():
    print("usage: python dumpimages.py http://example.com [outpath]")

if __name__ == "__main__":
    url = sys.argv[-1]
    out_folder = "/test/"
    if not url.lower().startswith("http"):
        out_folder = sys.argv[-1]
        url = sys.argv[-2]
        if not url.lower().startswith("http"):
            _usage()
            sys.exit(-1)
    main(url, out_folder)

root@goorm:/workspace/firstContainer# cd "/workspace/firstContainer";

root@goorm:/workspace/firstContainer# python3 /workspace/firstContainer/index.py

Traceback (most recent call last):

File "/workspace/firstContainer/index.py", line 38, in <module>

url = sys.argv[-2]

IndexError: list index out of range

 

구름ide로작성했는데 이렇게 오류가 떠요ㅠㅠ
전체이미지가 아닌 배웠던 class 특정영역의 이미지들만 일괄저장하고싶어서요;;ㅠ

python 웹-크롤링 selenium beautifulsoup

답변 2

1

김플

상세페이지의 이미지는 모두 desc-img-loaded라는 클래스가 있으니 이걸 찾으시면 됩니다.
b1unique2222님의 강의 진도율을 보니 아직 강의를 별로 안보셨더군요.
일단 진도를 좀 나가신다면 이정도는 아주 쉽게 해결하실겁니다.

0

b1unique2222

감사감사드립니다

더더 공부한다음에 꼼꼼하게 질문할께요~

첨삭감사드려요 샘님

0

김플

일단 에러는 sys.argv 리스트의 인덱스가 범위를 벗어나서 발생하는거니 sys.argv 리스트의 길이를 확인해보셔야 합니다.

그리고 class 특정영역의 이미지만 저장하고 싶다는 질문은 좀 더 자세히 해주시길 바랍니다.
제가 페이지가 어떤식으로 되어있는지, 어떤걸 어떤식으로 저장하고 싶다는건지 파악이 전혀 안되니 뭐라 답변드릴수가 없습니다.

0

b1unique2222

네 회신 감사드립니다. 김플개발자님~
예를 들면 아래 크롤링이 허락된 사이트의 제품페이지의

https://detail.1688.com/offer/662657643311.html?spm=a26g8.27029026.2814782.37.19807bc45f2XAh&&scm=1007.41958.302057.0&pvid=5691880c-ecfe-4e84-8a4d-92b42ea86fc9&object_id=662657643311&udsPoolId=3492321&sk=consign&object_id=662657643311&object_type=offer&scm=1007.41958.302057.0&tpp_trace=213dd5cf16830611497332592d082b&pvid=5691880c-ecfe-4e84-8a4d-92b42ea86fc9&udsPoolId=3492321&resourceId=2814782&pageSize=10&pageNo=4&position=36

html의 <img class= 상세페이지 구간만 이미지들을 내컴에 1.jpg 2.jpg 3.jpg 로 저장하고싶은데 강의때 가르쳐주신 뷰티스프랑 페이지 url reguest 랑 하는데
너무 부족해서 ㅠㅠ 헤매고있습니다 김플샘님...ㅠ

 

멜론 사이트 수집부터 안됩니다

0

62

1

강의 시점이랑 현재랑 네이버 사이트 변화가 많은거 같아서 질문드립니다.

0

58

1

-href 가져오기

0

91

2

수업내용 프로젝트의 완성된 코드는 제공이 안돼나요?

0

157

1

안녕하세요 쿠팡 크롤링 막힌거 같아요 3번돌리니깐 막았어요 해결방법없을까요?

0

3649

1

쿠팡 BeautifullSoup 헤더넣어도 막히네요

0

443

1

네이버 쇼핑 크롤링 1 코드 사용 시, 접속 제한됐을 때의 해결 방법이 궁금합니다.

0

3184

1

추가 강의 업데이트 있나요?

0

246

1

lambda 중에 문의가 있습니다.

0

269

1

텔레그램 sendMessage 시 400에러가 뜹니다.

0

903

2

ftp 로긴 문제입니다. ㅜ

0

410

2

네이버 쇼핑 크롤링 질문입니다.

0

369

1

XPATH 네이버에서 카페 찾는 과정 문의입니다.

1

313

1

셀레니움 By.XPATH 를 이용한 키워드 입력 작성 질문입니다.

0

671

2

쿠팡 이미지 파일 다운받기에서 동일하게 코드 작성 후 요청하였지만 파일 다운로드가 안됩니다.

0

812

2

파이썬에 키워드를 치는게 아닌...

0

276

2

50프로 수강중입니다~

0

219

1

제품 링크를 타고 들어가야 원하는 정보가 나오는 사이트

0

385

2

lst = lst50 + lst100 이거 대신에

0

323

2

증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ

1

286

1

네이버에 view탭이 업데이트가 됐는지 없어졌네요... ㅠㅠ

1

245

1

선생님이랑 똑같이 적었는데 저는 왜 오류가 날까요?ㅠ

0

355

2

네이버쇼핑 크롤링 문의

0

430

2

asyncio.run() cannot be called from a running event loop 에러 질문 드립니다

0

3904

4