当前位置: 开源爱好者 » 编程教程 » Python教程 » 正文

python 采集某网站所有图片并保存到本地

python 采集某网站所有图片并保存到本地,也可扩展为将抓取的图片上传到服务器,不过这个代码需要自己添,本代码主要是涉及抓取采集远程网站的图片,给出一个抓取图片的实例:

__author__ = '15275'
import requests as rq
import urllib.parse
import os
import json   #将json转换成字典
def  get_page(url):
    kv={"User-Agent":"chrom/6.0"};
    #proxies="https://192.168.15.83:443"  ,proxies=proxies
    page=rq.get(url,headers=kv);
    page=page.content;
    page=page.decode('utf-8');
    return page;
#pagestring=json.loads(page);
#print(pagestring);
#print(page);
def get_page_list(label):
    pagelist=[];
    url='https://www.duitang.com/napi/blog/list/by_search/?kw={}&type=feed&istart={}&limits=24';
    #将label转成ASCII 码形式
    label=urllib.parse.quote(label);
    for i in range(0,24,24):
        url=url.format(label,i);
        page=get_page(url);
        pagelist.append(page);
        #print(pagelist)
    return pagelist;
def get_path(page,startpart,endpart):
    end=0;
    pathlist=[];
    while page.find(startpart,end)!=-1:
        start=page.find(startpart,end)+len(startpart);
        end=page.find(endpart,start);
        path=page[start:end];
        pathlist.append(path);
       # print(pathlist)
    return pathlist;
def get_path_list():
    pathlist=[];
    label="校花";
    start=0;
    pagelist=get_page_list(label);
    for i in range(len(pagelist)):
        path=get_path(pagelist[i],'path\":\"','\"');
    #这个地方必须用extend 不能用append 因为extend 会插成一张大列表 而append 会会在一张大列表中插好多小列表
        pathlist.extend(path);
    return pathlist;
def getImg(url):
    root="D:/Reptitleimage/"
    path=root+url.split("/")[-1];
    try:
        if not os.path.exists(root):
            os.makedirs(root);
        if not os.path.exists(path):
            r=rq.get(url);
            with open(path,'wb') as f:
                f.write(r.content);
                f.close();
                print("保存成功");
        else:
            print("文件已存在");
    except:
        print("爬取失败");
pathlist=get_path_list();
print(pathlist[0])
for i in range(len(pathlist)):
    getImg(pathlist[i]);
》编辑推荐的内容
  • 暂时没有内容……

CopyRight 2018© 开源爱好者 All Rights Reserved 豫ICP备16030607号 隐私声明 网站地图