Youtube in-stream 插播广告

可以根据关键词keywords相匹配和根据位置placements匹配

具体匹配和定位的模式是以交集的形式过滤用户。

 

Youtube discovery ads 展示广告

Youtube Channel是可以添加链接的,需要打开相关的接口才行

 

  •  How To Create A Highly Effective Ad
    Learn how to create an ad that converts lookers into buyers.
  •  How To Create A Landing Page That Google Loves
    Google won't approve a landing page that doesn't meet it's guidelines. 
    Learn how to create a landing page that will be approved immediately.
  •  How To Get Your Video In Front Of Popular Videos In Your Niche
    Discover how to get your video to play before popular videos that receive millions of views.
  • How To Get Extremely Cheap Views
    Instead of wasting money, learn how to generate traffic for as little as 1c per view.
  • How To Properly Set-Up Your First Video Ads Campaign
    Avoid the common mistakes people often make setting up their first campaign 
    by getting it right the first time.
  • How To Track Conversions To See What's Working
    By monitoring the performance of your ad you'll be spend less money, 
    Get higher conversions and generate more sales.
  • How To Manage and Optimize Your Campaign For Maximum Conversions
    Learn how to tweak all aspects of your campaign so you'll be able to rinse and repeat for future ones.
  • Case Studies That Show You How To Get The Best Results
    You'll be able to look over my shoulder at how I've set up successful 
    campaigns in my own business so you won't make the same mistakes.

 

广告系列可以设置全局性的投放市场和关键词标的

 

使用EXCEL管理关键词表,可以极大的提高效率

 

展示广告可以根据兴趣进行匹配,转化率比较低

 

视频插播广告需要根据关键词进行比较精确的匹配,转化率才会高,成本才会下降,不要过于担心流量不充分,无效的流量支付是对资金的浪费。

 

不要轻易的删除campaign,一旦删除,campaign积累的数据就找不回来了。

前提条件是安装Beautiful Soup

 

进入python

python

#>>>

#载入html文档
html_doc = open("html_doc_name","r")
#载入模块
from bs4 import BeautifulSoup
#解析html文档
soup = BeautifulSoup(doc,"lxml") 
#获取title
soup.title


#针对南非黄页的情况
#获取公司名
soup.h1.a
#获取联系邮箱Email
soup.find_all("a",{"data-track":"email address"})

#处理完成后关闭html_doc
html_doc.close()



import urllib2
from bs4 import BeautifulSoup
links = open("/root/Work/links.txt","r")
results = open("/root/Work/results.txt","a+")
for link in links:
 html = urllib2.urlopen(link).read()
 soup = BeautifulSoup(html,"lxml")
 name = soup.h1
 email = soup.find_all("a",{"data-track":"email address"})
 results.write(str(name)+"\t"+str(email)+"\n")
results.close()
links.close()

 

 

针对输出后的文件进行进一步处理

取出无用的字符和html标签

使用sed命令进行替换

 sed -e 's/<h1 class="resultName" data-track="name"><a>//g' -e 's/<\/a><\/h1>//g' -e  's/\[\]//g'  -e 's/\[<a.*\">//g' -e 's/<\/a>]//g' filename > output_filename

sed -e 是使用多种模式, 模式中的第一个字符s表示替换

 

 

参考链接

以下为symfony.dev:80(默认端口为例)

  • 建立站点目录

一般是位于/var/www/html目录下,建立目录symfony

sudo mkdir symfony
  • 配置apache,映射域名到目录

配置文件一般位于/etc/apache2/sites-available文件夹下

复制000-default.conf,在此文件的基础上修改即可。

sudo cp 000-default.conf symfony.dev.conf
sudo vim symfony.dev.conf

配置文件可以参照如下设置

<VirtualHost symfony.dev:80>  #域名和端口这只
	ServerName symfony.dev  #服务器名,可选
	ServerAdmin webmaster@localhost  #管理员邮箱,可选
	DocumentRoot /var/www/html/symfony  #站点目录,重要

	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
	# error, crit, alert, emerg.
	# It is also possible to configure the loglevel for particular
	# modules, e.g.
	#LogLevel info ssl:warn

	ErrorLog ${APACHE_LOG_DIR}/error.log  #错误日志设置,可定制
	CustomLog ${APACHE_LOG_DIR}/access.log combined #访客日志设置,可定制

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".
	#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

使用Apache的命令a2ensite来激活站点配置

#注意站点名是sites-available文件夹下的配置文件去除conf后缀
sudo a2ensite symfony.dev
sudo service apache2 reload #不重启Apache就可以使配置站点立即生效

 

  • 修改本地域名解析,实现symfony.dev解析到127.0.0.1
sudo echo "symfony.dev" >> /etc/hostname
sudo echo -e "127.0.0.1\tsymfony.dev" >> /etc/hosts

 

Drush使用project manager来管理core和module

所以一般drush的核心和模块的操作命令一般都会带上pm的前缀。

查看更新状态

drush pm-updatestatus
//命令缩写
dursh ups
  • 更新Core和module文件
drush pm-update
//可以使用缩写
drush up

仅更新Core

drush pm-updatecore
//可以使用缩写
drush upc

 

  • 打印所有已安装的模块列表 (可以配合Pipe Grep命令过滤出自己想要的结果)
drush pm-list

安装命令

drush en module_name

直接en就可以,drush会自动下载模块相关文件,如果想省事,可以加上 -y 参数,这样drush就不会询问了。

  • drush卸载删除模块
drush dis module_name
//剩下的事情就要交给linux rm命令了
cd site_directory/sites/all/modules/
rm -r module_directory

drush 更新图片缓存

drush image-flush

 

安装phpstorm  IDE需要前置安装Java CDK

安装步骤如下:

  • 卸载open java cdk,因为它与官方的库有冲突
sudo apt-get remove openjdk*
  • 使用第三方的respository安装java
sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install java-common oracle-java8-installer

在此期间需要确认同意Oracle Java的许可条款

  • 设置Java的环境变量
sudo apt-get install oracle-java8-set-default

source /etc/profile

安装PhpStorm

下载安装文件,一般是tar.gz格式(下面的链接只是示例)

sudo wget -c htpp://www.[downloadlinks.com]/phpstorm.tar.gz.tar.gz

解压后移到/usr/share目录,具体安装到何位置,看个人偏好

sudo tar -zxvf phpstorm.tar.gz
sudo mv phpstorm /usr/share/

添加软连接到/usr/local/bin下支持命令行快速启动

sudo ln -s /usr/share/phpstorm/bin/phpstorm.sh /usr/local/bin/phpstorm

这样Ubuntu下的开发人员都可以使用phpstorm了

 


这里有个问题是java8下的phpstorm启动时最新版会报

OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0

这样的一个错误,是因为java8中MaxPermSize这个选项被移除了,只要找到在phpstorm安装目录下的phpstorm64.vmoptions文件,将含有MaxPermSize的行注释掉即可。

 

到此,安装完成。

由于一些问题,debian的phpmyadmin经常出现问题,现总结如下

 

apt-get安装之后需要配置phpmyadmin,配置文件位置在

/etc/phpmyadmin/apache.conf

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php

..............................................
以下随默认不变

除此之外/usr/share/phpmyadmin对于www-data来说必须有可读可执行的权限,这点要注意

设置完之后重启apache即可

 

 

这种情况通常出现在同步本地开发服务器和生产服务器

服务器会出现错误提示: 不支持的内容encode方式

 drush vset cache 0
 drush vset preprocess_css 0
 drush vset preprocess_js 0
 drush vset page_cache_maximum_age 0
 drush vset views_skip_cache TRUE