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

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

  

 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. cocos2d-x 暂停/恢复 与场景相关(SceneGraph类型)的监听器

    开发过程中,我们经常会遇到这样的情况:想要让一个Layer中所有的Node对象的事件都停止响应. 在响应用户事件后,又要恢复该Layer的所有事件响应. 如: 用户想要显示一个模式对话框,显示对话框后 ...

  2. 阿里云云盾服务证书免费CA证书申请与配置 (原)

    申请入口(首页导航产品->安全->CA证书服务->立即购买) 免费版选择步骤一步一步来 1.品牌选 Symantec 2.保护类型选择 一个域名(免费版只能一个好像) 3.证书类型选 ...

  3. Hibernate框架第二天

    ### Hibernate的持久化类 ### ---------- **什么是持久化类** 1. 持久化类:就是一个Java类(咱们编写的JavaBean),这个Java类与表建立了映射关系就可以成为 ...

  4. activity bj draw 流程图

  5. 基于AOP注解实现业务功能的动态配置

    一.导入jar包 <dependency><!-- 4.引入AOP--> <groupId>org.springframework.boot</groupId ...

  6. 使用淘宝npm镜像

    我们都知道淘宝大量采用了Nodej技术,所以它的镜像还是值得肯定的!更多相关可查看:淘宝NPM镜像 npm的官方镜像在国内访问是比较慢的,所以替代方法是使用淘宝npm镜像! 淘宝 NPM 镜像是一个完 ...

  7. PowMod (欧拉推式子 + 指数循环节)

    最主要的步骤是用 1式子和2式子推 3式子.(难点,看了很多博客最后的时候那个式子看不懂) 当n, m互质时即gcd(n, m) == 1,存在phi(n * m) = phi(m) * phi(n) ...

  8. 【2017-2-19】C#数据类型,数据转换,变量,常量,转义符

    数据类型 一.基本数据类型 1.值类型(不可以为null) ⑴整型(可以为负数) byle,int,short,long(从小到大排列) 常用整型 int a=值(小于10位数) long b=值(1 ...

  9. QString字符串中双引号的梗

    [1]QString字符串不支持双引号 最近做项目(本地环境:WIN10 + QT5.9.2 + VS2017).有个需求,需要实现形如 "key="123456"&qu ...

  10. python 读csv数据 通过改变分隔符去掉引号

    import csv with open(r'C:\Temp\ff.csv') as f: f_csv=csv.reader(f,delimiter='\t') headers=next(f_csv) ...