使用beautifulsoup下爬取图片
2017-11-22 本文已影响1260人
无神
使用beautifulsoup
爬取图片,存放到指定的文件夹下。
1、使用urllib.request
下载到网页内容
2、使用beautifulsoup
匹配到所有的图片地址
3、指定文件路径
4、调用urllib.request.urlretrieve
下载图片
#-*-coding: utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup
import os
'''
使用beautifulsoup下载图片
1、使用urllib.request 下载到网页内容
2、使用beautifulsoup匹配到所有的图片地址
3、指定文件路径
4、调用urllib.request.urlretrieve 下载图片
'''
def grap_image():
# 下载网页
url = 'https://baike.baidu.com/item/%E6%9D%A8%E5%AD%90%E5%A7%97/10966877?fr=aladdin'
html = urllib.request.urlopen(url)
content = html.read()
html.close()
# 使用beautifulsoup匹配图片
html_soup = BeautifulSoup(content, 'lxml')
all_img_links = html_soup.find_all('img',)
print(all_img_links)
#指定文件路径
path = os.getcwd()
new_path = os.path.join(path, 'pictures')
if not os.path.isdir(new_path):
os.mkdir(new_path)
new_path += '/' #此处需要和windows系统区分开
# 下载图片
image_couter = 1
for img_link in all_img_links:
file_name = '%s.jpg' % image_couter
img_url = img_link['src']
if len(img_url) > 0:
urllib.request.urlretrieve(img_url, new_path + file_name)
image_couter += 1
print('下载图片完成')
if __name__ == '__main__':
grap_image()