2016-04-26 47 views
0

我想创建一个python图像抓取工具。获取imgae src并通过python图像抓取工具将图像保存到目录中

这是我现在有:

from bs4 import BeautifulSoup 
from urllib.request import urlopen 
url = 'http://blog.pouyacode.net/' 
data = urlopen(url) 
soup = BeautifulSoup(data, 'html.parser') 
img = soup.findAll('img') 
print (img) 
print ('\n') 
print ('****************************') 
print ('\n') 
for each in img: 
    print(img.get('src')) 
    print ('\n') 

这部分工作:

print (img) 
print ('\n') 
print ('****************************') 
print ('\n') 

但在输出*****************后,会出现这样的错误:

Traceback (most recent call last): 
File "pull.py", line 15, in <module> 
print(img.get('src')) 
AttributeError: 'ResultSet' object has no attribute 'get' 

因此,如何能我得到所有图像的所有SRC? 如何将这些图像保存在目录中?

+1

你可能意味着使用each.get(“SRC”),而不是img.get(“SRC”) – Zillolo

+0

是的,对不起,这是一个小错误!谢谢。但是第二个,将图像保存在文件夹中呢? – niloofar

回答

2

这样的事情?书面的头脑和未测试

from bs4 import BeautifulSoup 
from urllib.request import urlopen 
import os 

url = 'http://blog.pouyacode.net/' 
download_folder = "downloads" 

if not os.path.exists(download_folder): 
    os.makedirs(download_folder) 

data = urlopen(url) 
soup = BeautifulSoup(data, 'html.parser') 
img = soup.findAll('img') 

for each in img: 
    url = each.get('src') 
    data = urlopen(url) 
    with open(os.path.join(download_folder, os.path.basename(url)), "wb") as f: 
     f.write(data.read()) 
+0

是的是的是的!!!!!!非常感谢你@salmonderossi :) – niloofar

+1

@niloofar不客气。我清理了我的答案了一下... – salomonderossi

相关问题