做为一个有割掉的程序员,对不起,这里应该是格调,酒喝多了有些糊涂。程序员
好吧咱们重来一遍。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)))
为了可爱的你,已经快虚脱的我耗尽最后一丝力气,录制了一个视频的教程,献给你,献给女神。
猛击下边的连接……