Failed to save image from internet using urllib2

I want to save some images from a website using python urllib2

, but when I run the code it saves something else.

This is my code:

user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }
url = "http://m.jaaar.com/"
r = urllib2.Request(url, headers=headers)
page = urllib2.urlopen(r).read()

soup = BeautifulSoup(page)
imgTags = soup.findAll('img')
imgTags = imgTags[1:]


for imgTag in imgTags:
    imgUrl = "http://www.jaaar.com" + imgTag['src']
    imgUrl = imgUrl[0:-10] + imgUrl[-4:]
    fileName = "khabarnak-" + imgUrl[-12:]
    print fileName

    imgData = urllib2.urlopen(imgUrl).read()
    print imgUrl

    output = open("C:\wamp\www\py\pishkhan\\" + fileName,'wb')
    output.write(imgData)
    output.close()

      

Any suggestions?

+3


source to share


1 answer


The site returns you a default image because you are clearing the site. Use the same "trick" to customize the headers when fetching an image:



imgRequest = urllib2.Request(imgUrl, headers=headers)
imgData = urllib2.urlopen(imgRequest).read()

      

+8


source







All Articles