做爲一個有割掉的程序員,對不起,這裏應該是格調,酒喝多了有些糊塗。程序員
好吧咱們重來一遍。web
做爲一個有格調的程序員,咱們根本不是外界說的那種悶騷宅,此刻的我又含了一湯勺川貝枇杷膏,狠狠的懟了一口野格,聽說這是當下歐美流行趨勢,對於我這種有格調有品位的人,就得這麼喝酒。chrome
眼瞅着半邊天的節日就要到了,女神那邊彷佛不能放假半天致使她有些小情緒。怎麼讓個人女神高興起來呢?這個命題拷問着我已經暈暈乎乎的靈魂,實話實說,個人靈感已經在情人節釋放殆盡,隨着呼呼的北風吹到了遙遠的陌生地方。json
班兒加到一半兒,看着不斷報錯的日誌,我居然忽然有了靈感。我是一名資深的程序員啊同志們,有報錯就要溯源,有bug就要解決,有需求就要迎難而上啊同志們!api
說幹就幹!瀏覽器
我準備用最擅長人工智能的Watson爲我作點什麼!dom
說幹就幹!堅決果斷的幹起來!ide
首先我悄悄收集了女神朋友圈裏精心拍出來的照片,接着,利用IBM Watson的接口,我爲全部的圖片都打上了標籤。聰明的你必定想到了,這些標籤通過整理,高頻出現的必定就是女神的最愛!網站
當結果輸出的一刻,心裏五味雜陳的我流下了兩行熱淚……人工智能
淚眼迷離的我望着枇杷膏的空瓶,狠狠的生懟了幾口野格,看了看賬戶的餘額,直接下單了一個能買得起的最貴的名牌包包……
顫抖的雙手久久不能平息刪除代碼的罪惡,靈魂深處支配着十根可愛的手指打開了我最愛的娛樂網站,是時候爲我本身作些什麼了……
說幹就幹!堅決果斷的幹起來!
最關鍵的代碼,不禁自主的打出來了呢……
from selenium import webdriver # 獲取動態⽹站信息所須要的⼯具 from tqdm import tqdm url = 'http://jandan.net/ooxx' # ⽬標⽹站 output_dir = './img/' # 圖⽚儲存⽬錄 # ⾃動打開瀏覽器訪問⽬標⽹站 chrome = webdriver.Chrome() chrome.get(url)分析並獲取圖⽚的URL eles = chrome.find_elements_by_tag_name('img') filter_func = lambda url: 'http://img.jandan.net' in url and '.jpg!custom' in url img_urls = list(filter(filter_func, [ele.get_attribute('src') for ele in eles])) img_urls = [img_url.split('!custom')[0] for img_url in img_urls] chrome.close() print('URL Count:', len(img_urls)) import json, os, random from PIL import Image, ImageDraw, ImageFont from io import BytesIO from watson_developer_cloud import VisualRecognitionV3 # 調⽤ Watson 視覺識別 API from urllib.request import urlopen, Request # ⽣成視覺識別對象 visual_recognition = VisualRecognitionV3( '2018-02-07', api_key='4d0add5078762baa390070ac25efdb16236d****') 採集圖⽚並調⽤ Watson API 爲圖⽚打上標籤 for i, url in enumerate(tqdm(img_urls, ncols=80)): res = Request(url, headers={'User-Agent': 'Chrome 50'}) img = Image.open(BytesIO(urlopen(res).read())) pad = Image.new(mode='RGB', size=(1280, 720), color=random.randint(0, 0XFFFFFF pad.paste(img, ((pad.size[0] - img.size[0]) // 2, (pad.size[1] - img.size[1]) draw = ImageDraw.Draw(pad) url_res = visual_recognition.classify(parameters=json.dumps({'url': url})) classes = url_res['images'][0]['classifiers'][0]['classes'] img_desc = ', '.join([item['class'] for item in sorted(classes, key=lambda a: a['score'], re font = ImageFont.truetype('NotoSansCJK-Black.ttc', size=random.randint(48, 64) draw.text( xy=(random.randint(-pad.size[0] // 10, pad.size[0] // 5), random.randint(pad.size[1] // 8, pad.size[1] // 2)), text=img_desc, fill=random.randint(0, 0XFFFFFF), font=font) pad.save(os.path.join(output_dir, '{:02d}.jpg'.format(i)))
爲了可愛的你,已經快虛脫的我耗盡最後一絲力氣,錄製了一個視頻的教程,獻給你,獻給女神。
猛擊下邊的連接……