
这篇文章将告诉你如何通过Python打造一台全自动发布Youtube视频并专区美元收益的系统。 Python builds automatic Youtube channel system earns over $2,000 per month (passive income) 目前我自己用的这套系统已基本稳定运行了三个月。其中一个YouTube频道从零起步到达到最低开通获利门槛,只花了一个月。前天成功开通了 Adsense账号并投放视频广告,今天查看频道第一天的广告收益约$90。以这个基准值计算的,大概每个月有约¥1.8万的收益。 基本上,整个视频的制作、上传发布、获取收益等环节都不需要人工介入。整个系统以全自动模式运行,仅在出现 bug 时需要人肉修复,比如最近因为开通了广告收益,需要调整负责上传的程序模块,前后花了我三四个小时,不过这也算是甜蜜的烦恼了吧(用我某个朋友的话来说)。 本文版权归原知乎作者@李南瓜所有,由于原作者已经删除了其知乎项目观察者栏目下的所有文章包含其个人运作的公众号项目,所以本文作为备份存在,向大神致敬!此文目前已经无法搜索到了,其原作者疑似受到网友评论的非议才删除了所有发表的内容。 备注: 本文不包含完整的代码实现,仅做思路分享 本系统仅个人使用,不出售,不出租,不代开发同类系统 本人不收徒,不留联系方式,没有群,无收费课程 本人仅为知识分享,但没有义务解答你的任何个人疑问 如果以上这些前置条件你都可以接受,那我们可以正式开始自动赚美元系统的打造之旅了。 Youtube全自动化生产视频方法剖析【油管自动赚钱揭秘】 最近参加了一个马来西亚Youtuber教程培训感慨很深,整个教学体验还不错,对方在课上提到了中国大陆很多人使用技术化来操作Youtube的这么一个手段,并表示非常不建议新手操作,具体的操作方法我私下和他聊了一下,… Youtube 赚钱技巧分享 我如何在Youtube第一个月赚$2000? 怎样让Youtube的收入翻倍?什么样的视频最赚钱,什么时候发视频最赚钱?除了广告Youtube还有哪些赚钱渠道?……这些都是做Youtube 的朋友必须了解的经验。Youtube 如何才能开通盈利,我在之前的文章也分享过一些相… 技术栈 程序语言: Python 3 服务器: Google Cloud Platform 数据库: Firestore 程序托管:Github、Google Cloud Source Repositories 自动任务调度:Cloud Scheduler 第三方库、软件: FFmpeg、Requests、PIL、Selenium IM: Telegram 系统功能模块分解 一个全自动发布 YouTube 视频的系统,大致需要包含以下几个模块,根据你自己选择的类别、原始素材的不同,可能会有一定差异。 任务分配模块 原始图片、音频、视频素材提取、制作模块 YouTube 视频上传模块 服务器自动部署模块 程序运行结果通知模块 程序自动更新模块 接下来我们将对每个模块一一展开阐述。 任务分配模块 对于一个自动化制作视频并上传的系统,整个系统运作的第一步是系统需要知道自己当前需要从哪个任务开始执行。 以一个最简单的任务系统来说,假如整个任务是一个线性增长的任务ID,那么这个任务分配模块也就等同于一个自增ID的数据库字段。 对于一个现实的任务分配模块而言,肯定要比这复杂一些,不过最核心的还是告诉程序接下来要进行哪个任务。 由于整个系统基本都架构在强大而易用的Google Cloud Platform(后面简称GCP)平台之上,所以任务分配模块我直接使用 GCP 平台上的 NoSQL 数据库: Cloud Firestore。 什么是Cloud Firestore呢? 借用 Firestore 官网来做个简单介绍: Cloud Firestore 是一款 NoSQL 文档数据库,它使您可以在全球范围内轻松存储、同步和查询您的移动应用及 Web 应用的数据。 我使用 Firestore 来做很多事,在任务分配模块,只需要新建一个 专属的 Collection及每个标签对应的 Document 即可,比如下面这个演示图。 里面包含 counter、 task、 taskID等三个 Document ,其中 task 文档中的 status 的值设置为 on,代表当前任务状态为可继续执行。如果某个阶段的任务执行完毕,或有严重bug需要人工修复,那么这个值就会被设置为 off。 其中 taskID 仅为演示才临时添加的Document,实际上的任务分配模块是在另一个专属的 Collection中,要复杂的多,但核心是一样的。 任务分配模块的具体执行流程: 程序读取 task 文档中的 status...
There is no excerpt because this is a protected post.
神马搜索站长自动api推送收录代码方法,本文使用python。 先将网站根目录的sitemap.xml文件生成一条条链接的txt文本,再推送提交api到神马搜索。 1.新建py_url.py,代码如下: #coding=utf-8 import urllib import urllib.request import re url='http://www.budinghua.com/sitemap.xml' html=urllib.request.urlopen(url).read() html=html.decode('utf-8') r=re.compile(r'(http://www.budinghua.com.*?\.html)') big=re.findall(r,html) clean_xml_txt=open("x:/xxx/xxx/WWW/sitemap.txt", 'w').close() for j, i in enumerate(big): print(i) if j > 1: op_xml_txt=open('x:/xxx/xxx/WWW/sitemap.txt','a')//新建txt op_xml_txt.write('%s\n'%i) 生成txt之后,新建shenma.py文件推送 #coding:utf8 import requests,time def pushurls(): url = "https://data.zhanzhang.sm.cn/push?site=%s&user_name=自己神马的用户名&resource_name=mip_add&token=%s"%(domain,token) #接口调用地址 在站长平台获取 filecontents = {'file': open('x:/xxx/xxx/sitemap.txt', 'r')} #urls.txt为需要推送的URL文件,每行一个 print(filecontents) r=requests.post(url, files=filecontents) baiduresult =u"推送成功,结果为:%s \n" %(r.text) print(baiduresult) if __name__=="__main__": domain="www.budinghua.com" token="abc123123"//自己在神马网站的token哦 pushurls()
#coding:utf-8 #python生成sitemap,超过1万条数据自动生成新文件。 #from __future__ import division # import os,datetime import sys import pymysql.cursors reload(sys) sys.setdefaultencoding('utf-8') hosts = '域名/' dir = os.popen('mkdir /data/wwwroot/forwei/www/sitemaps') path = '/data/wwwroot/forwei/www/sitemaps/' paths = 'sitemaps/' lastmod = datetime.date.today() connection = pymysql.connect(host="127.0.0.1",user="用户名",password="密码",db="表名") sql = 'SELECT classpath FROM phome_enewsclass union select ztpath from phome_enewszt union SELECT titleurl FROM phome_ecms_news' try: with connection.cursor() as cursor: cursor.execute(sql) cnm = cursor.fetchall() pan = open('urls.txt',"w") #hu = open('mobile_url.txt',"w") for i in cnm: for item in i: if len(item) > 2: if item[0] == "/" : pan.write("域名/%s\n" % item[1:]) #hu.write("域名/%s\n" % item[1:]) else: if item[0] != "/": pan.write("域名/%s\n" % item) #hu.write("移动端/%s\n" % item) pan.close() #hu.close() cursor.close() finally: connection.close() def add_file(j,f1,hosts,paths): file_name = 'sitemap_%s.xml'%(j) f1.write("\n<sitemap>\n<loc>%s%s%s</loc>\n<lastmod>%s</lastmod>\n<priority>0.8</priority>\n</sitemap>"%(hosts,paths,file_name,lastmod)) f=open("%s%s"%(path,file_name),"w") f.write('<?xml version="1.0" encoding="utf-8"?>\n<urlset>') return f #判断总的URL数 c = 0...
There is no excerpt because this is a protected post.

近几年各大搜索引擎平台提供了更快捷的数据提交方式,如百度的自动提交,API推送(在下篇内容中讲解),那么本次的内容重点去讲必应Bing的内容推广. 打开必应站长平台(https://www.bing.com/webmasters),如果你没注册或者没绑定,这里就不做过多的说明,这些简单的东西太浪费时间。 点击URL Submission ,看到右侧可以看到今天剩余的提交的数量只有86条,今天主动提交了9900多条,目前给到企易推的每天的限额是10000条。 右上角选择API 然后查看需要提交的密钥: import requests def get_(data): headers={'User-Agent':'curl/7.12.1 ', 'Content-Type':'application/json'} try: r = requests.post(url='https://ssl.bing.com/webmaster/api.svc/json/SubmitUrl?apikey=密钥',json=data) except Exception.e: print(e) # 把所有链接放置到了文件夹里面,所以只需要去读取文件夹里面的链接就成了。 fp = open("website.txt", "r+") for i in fp.readlines()[0:10000]: cjhpush={ "siteUrl": "https://www.1004619.com", "url": 'https://www.1004619.com/' + i[1:-1], } print(cjhpush) get_(cjhpush) fp.close() 第二种方法就是直接提交每日最新的内容sitemap.xml import requests import re def bing(urls): global bing_number headers = { 'Content-Type': 'application/json; charset=utf-8', 'Host': 'ssl.bing.com', } api = 'https://ssl.bing.com/webmaster/api.svc/json/SubmitUrl?apikey=API秘钥' print('Bing站长推送中...') for page in urls: json = { 'siteUrl': 'https://www.1004619.com', #domain.com 'url': page } response = requests.post(api, json=json, headers=headers).json() if 'd' in response.keys(): bing_number = bing_number + 1 else: break if __name__ == '__main__': bing_number = 0 url = 'https://www.1004619.com/sitemap.xml' response_html = requests.get(url) html = response_html.text urls = re.findall('<loc>(.*?)</loc>', html) bing(urls) print('Bing站长共计推送:%s' % bing_number) 自此关于bing网站自动推送的2种方法介绍完毕,这些python代码稍微有点代码基础的人都可以看懂.修改起来也很方便.有问题可以来咨询我.
There is no excerpt because this is a protected post.
——python2.7不能安装requests的解决方法 python -m pip install –user –upgrade pip==20.2.4