python3爬取高清壁纸(1)

这次爬取的目标是:美桌网首页 > 桌面壁纸 > 卡通动漫 类别下的壁纸.

我们先随机选取一个专辑来爬( http://www.win4000.com/wallpaper_detail_54520.html ).

后面再把整个卡通动漫类别的所有专辑的壁纸爬下来。

代码如下:

import requests
from bs4 import BeautifulSoup
import os

#爬取的网站:http://www.win4000.com/wallpaper_detail_54520.html

def Get_image_url(url):
    #传入页面的URL,得到所有图片所在的标签和图册的名字,并返回
    
    Res = requests.get(url)
    Soup = BeautifulSoup(Res.text,'lxml')
    
    Name = Soup.select('h1')[0].string
    Tag = 'img[title=\"' + Name + '\"]'
    Image = Soup.select(Tag)
    
    return Image,Name

def Download_Image(Image_url):
    #传入图片的URL,将图片保存在本地
    Image = requests.get(Image_url,stream=True)
    #将链接的最后一个字符串最为图片的名字
    name = Image_url.split('/')[-1]
    #保存图片
    with open(name,'wb') as f:
        f.write(Image.content)

def main():
    #主调函数
    url = "http://www.win4000.com/wallpaper_detail_54520.html"
    [Image,Name] = Get_image_url(url)
    #print(Name,Image)
    #保存当前目录
    path = os.getcwd()
    #创建保存图片的目录
    os.mkdir(Name)
    os.chdir(path + '/' + Name)
    for I in Image:
        Download_Image(I['src'])
    #返回之前的目录
    os.chdir(path)
if __name__ == '__main__':
    main()

 注:如果是Windows下,将进入文件夹的命令 [ os.chdir(path + '/' + Name)  ] 改为:os.chdir(path + '\\' + Name)

posted @ 2017-08-10 10:20  佳星辰  阅读(1456)  评论(0编辑  收藏  举报