Beautifulsoup - How to open images and download them

后端 未结 1 916
忘掉有多难
忘掉有多难 2020-12-05 08:53

I am looking to grab the full size product images from here

My thinking was:

  • Follow the image link
  • Download the picture
  • Go back
相关标签:
1条回答
  • 2020-12-05 09:29

    This will get you all URL of the images:

    import urllib2
    from bs4 import BeautifulSoup
    
    url = "http://icecat.biz/p/toshiba/pscbxe-01t00een/satellite-pro-notebooks-4051528049077-Satellite+Pro+C8501GR-17732197.html"
    html = urllib2.urlopen(url)
    soup = BeautifulSoup(html)
    
    imgs = soup.findAll("div", {"class":"thumb-pic"})
    for img in imgs:
            print img.a['href'].split("imgurl=")[1]
    

    Output:

    http://www.toshiba.fr/contents/fr_FR/SERIES_DESCRIPTION/images/g1_satellite-pro-c850.jpg
    http://www.toshiba.fr/contents/fr_FR/SERIES_DESCRIPTION/images/g4_satellite-pro-c850.jpg
    http://www.toshiba.fr/contents/fr_FR/SERIES_DESCRIPTION/images/g2_satellite-pro-c850.jpg
    http://www.toshiba.fr/contents/fr_FR/SERIES_DESCRIPTION/images/g5_satellite-pro-c850.jpg
    http://www.toshiba.fr/contents/fr_FR/SERIES_DESCRIPTION/images/g3_satellite-pro-c850.jpg
    

    And this code is for downloading and saving those images:

    import os
    import urllib
    import urllib2
    from bs4 import BeautifulSoup
    
    url = "http://icecat.biz/p/toshiba/pscbxe-01t00een/satellite-pro-notebooks-4051528049077-Satellite+Pro+C8501GR-17732197.html"
    html = urllib2.urlopen(url)
    soup = BeautifulSoup(html)
    
    imgs = soup.findAll("div", {"class":"thumb-pic"})
    for img in imgs:
            imgUrl = img.a['href'].split("imgurl=")[1]
            urllib.urlretrieve(imgUrl, os.path.basename(imgUrl))
    
    0 讨论(0)
提交回复
热议问题