美文网首页
使用beautifulsoup下爬取图片

使用beautifulsoup下爬取图片

作者: 无神 | 来源:发表于2017-11-22 21:19 被阅读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()

相关文章

网友评论

      本文标题:使用beautifulsoup下爬取图片

      本文链接:https://www.haomeiwen.com/subject/yhoovxtx.html