2014-03-28 118 views
0

我想从使用美丽的汤的文章刮图像。它似乎工作,但我无法打开图像。每次尝试从我的桌面访问图像时,都会收到文件格式错误。任何见解?使用美丽的汤刮图像

timestamp = time.asctime() 

# Parse HTML of article, aka making soup 
soup = BeautifulSoup(urllib2.urlopen(url).read()) 

# Create a new file to write content to 
txt = open('%s.jpg' % timestamp, "wb") 

# Scrape article main img 
links = soup.find('figure').find_all('img', src=True) 
for link in links: 
    link = link["src"].split("src=")[-1] 
    download_img = urllib2.urlopen(link) 
    txt.write('\n' + "Image(s): " + download_img.read() + '\n' + '\n') 

txt.close() 

回答

2

您正在追加一个新的行和文本到每个图像的数据的开始,基本上是腐蚀它。

此外,你正在写每个图像到同一个文件,再次破坏它们。

把写入文件的逻辑写入循环,不要向图像添加任何额外的数据,它应该工作正常。

# Scrape article main img 
links = soup.find('figure').find_all('img', src=True) 
for link in links: 
    timestamp = time.asctime() 
    txt = open('%s.jpg' % timestamp, "wb") 
    link = link["src"].split("src=")[-1] 
    download_img = urllib2.urlopen(link) 
    txt.write(download_img.read()) 

    txt.close()