-------------------------------------------------------------------------------------------------------------二更-------------------------------------------------------------------------------------------------------------

   灵光一闪,这么简单的东西为什么我蠢了???

  

 request.urlretrieve(img_url, 'background.jpg')

  当总结写的假的好么?

  然后更改了一下,现在是可以

  功能1:批量下载图片

    功能2:转化为抖音图片(无论提交外链或者本地图片)

  

 #!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/11/15 19:40
# @Author : Empirefree
# @File : 2.py
# @Software: PyCharm Community Edition
import copy
import os
import argparse
import re
import numpy as np
from urllib import request
from PIL import Image
import requests
from lxml import etree #显示下载数据块
def cbk(a,b,c):
'''回调函数
@a:已经下载的数据块
@b:数据块的大小
@c:远程文件的大小
'''
per=100.0*a*b/c
if per>100:
per=100
print('%.2f%%' % per) def Download():
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
response = requests.get('http://www.ivsky.com/tupian/ziranfengguang/', headers=headers)
# 使用lxml解析网页
html = etree.HTML(response.text)
img_urls = html.xpath('.//img/@src') # 先找到所有的img i = 0
for img_url in img_urls:
request.urlretrieve(img_url, 'image' + str(i) + '.jpg', cbk)
i += 1
print('已成功保存为/image[].jpg')
print('下载完成!!!') def main(imagepath):
#将图片转换为三维数组
img = Image.open(imagepath)
img_arr = np.array(img)
#提取R
img_arr_r = copy.deepcopy(img_arr)
img_arr_r[:, :, 1:3] = 0
#提取GB
img_arr_gb = copy.deepcopy(img_arr)
img_arr_gb[:, :, 0] = 0
#创建画布并将图片错放开
img_r = Image.fromarray(img_arr_r).convert('RGBA')
img_gb = Image.fromarray(img_arr_gb).convert('RGBA')
canvas_r = Image.new('RGB', img.size, color=(0, 0, 0))
canvas_gb = Image.new('RGB', img.size, color=(0, 0, 0))
canvas_r.paste(img_r, (6, 6), img_r)
canvas_gb.paste(img_gb, (0, 0), img_gb)
img_douyin = Image.fromarray(np.array(canvas_gb) + np.array(canvas_r))
img_douyin.save('douyin.jpg')
img_douyin.show() def IsHttp(imagepath):
if re.search('http', imagepath) != None:
return 1
else:
return 0 if __name__ == '__main__':
# parser = argparse.ArgumentParser()
# parser.add_argument('-i', '--image', help='Image to be processed(give the file path).')
# args = parser.parse_args()
# main(args.image)
print('**************************************************************************')
print('*****************!!!欢迎使用抖音图片加载助手!!!*************************')
print('*****************作者:Empirefree *********************')
print('*****************工具: Pycharm *********************')
print('*****************时间: 2018/10/23 18:49 ********************')
print('**************************************************************************')
while(1):
print('温馨提示(您目前文件路径为):',os.path.dirname(os.path.realpath(__file__)))
fun = int(input('请输入您想选择的功能:[1]批量下载图片 [2]制作抖音图片\n'))
if fun == 1:
Download()
else:
imagepath = input('请输入您的图片路径: ')
if IsHttp(imagepath):
request.urlretrieve(imagepath, 'background.jpg') #下载图片
imagepath = os.path.abspath('background.jpg')
main(imagepath)
print('加载完毕.......')

抖音图片2.0

实验帮助:

  文章末尾有免费源代码、图片和实现的exe供下载,本人博客www.empirefree.top

实现环境:

  python3.6+pycharm(pip什么的自己看错误就可以搞出来了)

实现目标(如下所示):

            

实现效果:

  代码分析:

    1、将图片转换成三维数组,然后对于rgb()这三种颜色提取

    2、Rgb(255, 0, 0) 和Rgb(0, 255, 255)位置改变一下()然后就会有像素错位的效果

     1 canvas_r.paste(img_r, (6, 6), img_r)

    3.然后单纯保存,显示图片即可

     1 img_douyin.save('douyin.jpg') 2 img_douyin.show()

  总结:读者有兴趣可以改变一下外链,我弄图片外链好像爬不下来,太弱了吧,思路就是提交图片外链,然后如果判断是外链就下载到本地,然后再利用本程序改变图片样例,这里你看到喜欢的图片想制作就都可以了,本程序只能搞本地有的图片,很难受,我好菜啊!!!!

分享链接: https://pan.baidu.com/s/19V8cFYQe12h8oiP5E9lk8A 提取码: g8be

Python-制作抖音图片的更多相关文章

  1. Vegas教程:教你制作抖音热门人物穿越门窗特效

    抖音上经常会有很多特效视频,例如换妆.分镜.合拍.放大等,合适的特效总是会让视频更加出彩.这些特效,除了一部分是抖音自带以外,很多都是用的其他视频特效软件制作而成.这些视频编辑软件操作简单易上手,强大 ...

  2. 教你用 Python 实现抖音热门表白软件

    之前在群里看到有人发了一个抖音上很火的小视频,就是一个不正经的软件,运行后问你是不是愿意做我的朋友,但你没法点击到「不同意」!并且没办法直接关闭窗口! 很不正经,很流氓,有点适合我. 效果大概是这样的 ...

  3. Python 爬虫——抖音App视频抓包

    APP抓包 前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取.现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视 ...

  4. Python爬虫-抖音小视频-mitmproxy与Appium

    目的:  爬取抖音小视频 工具:  mitmproxy.Appium 思路: 1.  通过 mitmproxy 截取请求, 找出 response 为 video 的请求. 2.  通过 mitmdu ...

  5. Python实现抖音关键词热度搜索小程序(附源码)

    今天给大家带来一个抖音热词小程序,废话不多说,直接上代码 import requests import json import urllib.parse import time ''' python知 ...

  6. 用 Python 下载抖音无水印视频

    说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 很多人学 ...

  7. python爬虫——抖音数据

    最近挺火的抖音短视频,不仅带火了一众主播,连不少做电商的也进驻其中,于是今天我来扒一扒这火的不要不要的抖音数据: 一.抓包工具获取用户ID 对于手机app数据,抓包是最直接也是最常见的手段,常用的抓包 ...

  8. python爬虫抖音 个人资料 仅供学习参考 切勿用于商业

    本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Too ...

  9. Python之抖音快手代码舞--字符舞

    先上效果,视频敬上: 字符舞: 代码舞 源代码: video_2_code_video.py 1 import argparse 2 import os 3 import cv2 4 import s ...

随机推荐

  1. Mac下安装m2crypto 解决找不到openssl头文件的错误

    直接复制整段到终端运行 sudo env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --pref ...

  2. 转Git配置SSH,并Push到GitHub上的相关流程

    首先,你可以试着输入git,看看系统有没有安装Git $ git The program 'git' is currently not installed. You can install it by ...

  3. VirtualBox 报错VERR_VD_IMAGE_READ_ONLY

    VirtualBox 无法打开虚拟机,报错VERR_VD_IMAGE_READ_ONLY,详细报错如下: 不能为虚拟电脑 Primary11gRAC2 打开一个新任务. Failed to open ...

  4. react native 初识生命周期

    关于生命周期这块,我是看到慕课堂的一个视频,觉得将的很好,引入很容易理解,地址是:https://www.imooc.com/video/14288  如果你们想了解一下,也可以去看看 RN 组件的生 ...

  5. 学习笔记<4>初步控件布局

    一.控件布局基本概念 指控制控件在Activity当中的位置.大小.颜色以及其他控件样式属性 二.控件布局两种方法 1.使用布局文件完成控件布局(eclipse可视化拖拽控件实现) 2.在JAVA代码 ...

  6. Rpgmakermv(7) Chronus.js说明与简要翻译

    插件地址:https://github.com/triacontane/RPGMakerMV/blob/master/Chronus.js 日语版 ゲーム内で時刻と天候の概念を表現できるプラグインです ...

  7. 交替最小二乘ALS

    https://www.cnblogs.com/hxsyl/p/5032691.html http://www.cnblogs.com/skyEva/p/5570098.html 1. 基础回顾 矩阵 ...

  8. 20155228 获取技能的成功经验和关于C语言学习的调查

    内容提要 你有什么技能比大多人(超过90%以上)更好?针对这个技能的获取你有什么成功的经验?与老师博客中的学习经验有什么共通之处? 有关C语言学习的调查 你是怎么学习C语言的?(作业,实验,教材,其他 ...

  9. 移动端点击返回时强制页面刷新解决办法(pageshow)

    在做移动端项目的时候经常遇到这样一个功能比如: 返回后页面不刷新,一些失效的信息依然显示在页面上.这个问题在iphone手机上会出现,在Android手机上返回时会自动刷新(由于手机机器种类不多,无法 ...

  10. Set接口——LinkedHashSet集合

    底层是由哈希表+链表: