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

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

  

 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. 转git的使用

    git的使用(包括创建远程仓库到上传代码到git的详细步骤以及git的一些常用命令) A创建远程仓库到上传代码到git 1)登陆或这注册git账号 https://github.com 2)创建远程仓 ...

  2. 18.搭建 vue 环境

    第一步 node环境安装 1.1 如果本机没有安装node运行环境,请下载node 安装包进行安装1.2 如果本机已经安装node的运行换,请更新至最新的node 版本下载地址:https://nod ...

  3. CentOS中利用Docker安装RabbitMQ

    CentOS中利用Docker安装RabbitMQ 1.拉取镜像(带管理平台) #docker pull rabbitmq:3.7.7-management 2.启动容器: #docker run - ...

  4. UVa-116 Unidirectional TSP 单向旅行商

    题目 https://vjudge.net/problem/uva-116 分析 设d[i][j]为从(i,j)到最后一列的最小开销,则d[i][j]=a[i][j]+max(d[i+1][j+1], ...

  5. html5-增强的表单

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  6. hdu5290树形dp

    题意 给了n个点的数 每个点有一个w[i]权值,如果你选择了i这个点那么距离i这个点距离为w[i]的点将被除去,最后问 选则尽量少的点把这n个点全部删除 1<=n<=100000, 0&l ...

  7. PLSA主题模型

    主题模型 主题模型这样理解一篇文章的生成过程: 1.          确定文章的K个主题. 2.          重复选择K个主题之一,按主题-词语概率生成词语. 3.          所有词语 ...

  8. ATM-JAVA程序 //程序有5处相同错误,找不出原因 转账功能没有实现,修改密码来不及实现了

    package JCC;//信1705-3 20173681 靳晨晨import java.io.BufferedReader;import java.io.File;import java.io.F ...

  9. 转:C# 小数位数保留的方法集锦

    转载自:http://www.jb51.net/article/17010.htm 1. System.Globalization.NumberFormatInfo provider = new Sy ...

  10. 51Nod 1069 Nim游戏 (位运算)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1069 有N堆石子.A B两个人轮流拿,A先拿.每次只能从一堆 ...