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:\demo\BeautifulPicture'  #設置圖片要存放的文件目錄

    #利用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)
相關文章
相關標籤/搜索