zoukankan      html  css  js  c++  java
  • python抓取接口,保持图片

    import urllib.request
    import json
    import os  #导入os模块
    import requests #导入requests 模块
    
    
    class BeautifulPicture():
        def __init__(self):  #类的初始化操作
            self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'}  #给请求指定一个请求头来模拟chrome浏览器
            self.folder_path = 'D:demoBeautifulPicture'  #设置图片要存放的文件目录
    
        #利用urllib2获取网络数据
        def registerUrl(self):
            print('开始创建文件夹')
            self.mkdir(self.folder_path)  #创建文件夹
            print('开始切换文件夹')
            os.chdir(self.folder_path)   #切换路径至上面创建的
            try:
           # 请求的接口 url
    ="https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=0%2C0&fp=detail&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=0&lpn=0&st=undefined&word=%E6%A0%A1%E8%8A%B1&z=0&ic=undefined&s=undefined&se=&tab=0&width=undefined&height=undefined&face=undefined&istype=0&qc=&nc=&fr=&simics=&srctype=&bdtype=0&rpstart=0&rpnum=0&cs=3447792407%2C2312708615&catename=&cardserver=&tabname=&pn=0&rn=30&gsm=0&1535795026719=" data = urllib.request.urlopen(url).read() return data except Exception as e: print(e) #写入文件 def save_img(self, url, name): ##保存图片 print(url) img = self.request(url) file_name = name + '.jpg' print('开始保存图片') with open(file_name, 'ab') as f: f.write(img.content) # print(file_name,'图片保存成功!') #解析从网络上获取的JSON数据 def praserJsonFile(self, jsonData): value = json.loads(jsonData) data = value['data'] print(data) for i in data: url = i['middleURL'] name = i['fromPageTitleEnc'] self.save_img(url, name) def request(self, url): #返回网页的response r = requests.get(url, headers=self.headers) # 像目标url地址发送get请求,返回一个response对象。有没有headers参数都可以。 return r def mkdir(self, path): ##这个函数创建文件夹 path = path.strip() isExists = os.path.exists(path) if not isExists: print('创建名字叫做', path, '的文件夹') os.makedirs(path) print('创建成功!') else: print(path, '文件夹已经存在了,不再创建') if __name__ == "__main__": beauty = BeautifulPicture() #创建类的实例 data = beauty.registerUrl() # jsonFile(data) beauty.praserJsonFile(data)
  • 相关阅读:
    A Simple Problem with Integers poj 3468 多树状数组解决区间修改问题。
    Fliptile 开关问题 poj 3279
    Face The Right Way 一道不错的尺取法和标记法题目。 poj 3276
    Aggressive cows 二分不仅仅是查找
    Cable master(二分题 注意精度)
    B. Pasha and String
    Intervals poj 1201 差分约束系统
    UITextField的快速基本使用代码块
    将UIImage转换成圆形图片image
    color转成image对象
  • 原文地址:https://www.cnblogs.com/s-quan/p/9571073.html
Copyright © 2011-2022 走看看