편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.01.13

    Python2.7 코드 질문..


    이미지 URL 을 추출하는 프로그램인데요, 2가지 문제때문에 애를 먹고 있습니다.

    1. .gif 형식은 제외를 하고 추출을 하고 싶은데 잘 안되네요 ㅜ
    2. 특정 사이트의 경우, 에러가 나오는데요 , key error 가 나옵니다. Traceback (most recent call last): File "jung.py", line 8, in <module> for url in img_urls: print(url) File "jung.py", line 7, in <genexpr> img_urls = (img['src'] if img['src'].startswith('http') else "{}{}".format(_url, img['src']) for img in imgs) File "/Users/eunhyulkim/opt/anaconda3/envs/eun/lib/python2.7/site-packages/bs4/element.py", line 1011, in __getitem__ return self.attrs[key] KeyError: 'src'

    https://stackoverflow.com/questions/14587728/what-does-this-error-in-beautiful-soup-means

    이쪽 증상이랑 비슷한것 같은데, 제가 고쳐도 계속 에러가 멈추지 않아서 문의 드려요 .

    어떻게 수정을 해야 할까요 .. 참고로 저는 python 2.7 버전입니다.

    import requests, bs4
    
    _url = 'https://twitter.com/'
    
    
    content = requests.get(_url).content
    imgs = bs4.BeautifulSoup(content, 'html.parser', parse_only=bs4.SoupStrainer('img'))                             
    img_urls = (img['src'] if img['src'].startswith('http') else "{}{}".format(_url, img['src']) for img in imgs)
    for url in img_urls: print(url)
    
  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.01.13

    Python2.7 코드 질문..


    이미지 URL 을 추출하는 프로그램인데요, 2가지 문제때문에 애를 먹고 있습니다.

    1. .gif 형식은 제외를 하고 추출을 하고 싶은데 잘 안되네요 ㅜ
    2. 특정 사이트의 경우, 에러가 나오는데요 , key error 가 나옵니다.

    Traceback (most recent call last): File "jung.py", line 8, in for url in img_urls: print(url) File "jung.py", line 7, in img_urls = (img['src'] if img['src'].startswith('http') else "{}{}".format(url, img['src']) for img in imgs) File "/Users/eunhyulkim/opt/anaconda3/envs/eun/lib/python2.7/site-packages/bs4/element.py", line 1011, in __getitem_ return self.attrs[key] KeyError: 'src'

    https://stackoverflow.com/questions/14587728/what-does-this-error-in-beautiful-soup-means

    이쪽 증상이랑 비슷한것 같은데, 제가 고쳐도 계속 에러가 멈추지 않아서 문의 드려요 .

    어떻게 수정을 해야 할까요 .. 참고로 저는 python 2.7 버전입니다.

    import requests, bs4
    
    _url = 'https://twitter.com/'
    
    
    content = requests.get(_url).content
    imgs = bs4.BeautifulSoup(content, 'html.parser', parse_only=bs4.SoupStrainer('img'))                             
    img_urls = (img['src'] if img['src'].startswith('http') else "{}{}".format(_url, img['src']) for img in imgs)
    for url in img_urls: print(url)