2019年11月13日 | 标签:

 

因为工作需要,需要经常使用百度推广去下载数据,使用过doubleclick的工具以后发现可用通过api来调用数据

减少登录平台的次数,最重要的是可以和其他平台数据打通,但是网上几乎找不到百度推广api的教程,所以自己摸索
后总结了下
首先我们去下载一个php的百度推广api的模板,最简单的办法就是模仿
这里其实百度给出了 php版本调用百度推广api的例子文件 只是藏的太深了
我总算挖出来了
http://dev2.baidu.com/newdev2/dist/index.html
这里的最下面有php的 sdk  V4_PHP_SDK_20180307.rar
解压后里面由2个文件夹
drapisdk_php 核心库文件 里面列出来了许多调用百度推广api的方法 暂时不用动,你就当时备份文件
php_sdk_test这个就是我们的例子文件
进去 这里还有一个drapisdk_php  文件夹
我们只需要在这个文件夹中 配置好我们的账号密码和token即可
在CommonService.php这个文件中
define ( ‘USERNAME’, ‘baidu-222’ );
//PASSWORD
define ( ‘PASSWORD’, ‘222’ );
//TOKEN
define ( ‘TOKEN’, ‘222’ );
需要换成自己的账户密码以及token
然后运行php_sdk_test文件夹下的 account_service_test.php
既可以看到账户的余额以及一共消费金额
需要注意这个文件里面会自动吧账户上限设置为789,需要屏蔽这段代码
然后返回的信息是一共json对象$response,需要用php的函数转为数组,然后这个数字是个3维数组
    $a=json_encode($response);
        $array = json_decode($a, true);
        echo $array[‘data’][0][‘balance’];
遇到不懂的就//var_dump($array[‘data’]);
即可
然后就是报告了
这里有2种报告 实时报告没什么用,简单说下
在reportService_test.php这个文件里
先修改对应函数的报告起始时间,主要实时包含最多60天,然后记得
$datas=$testService->getRealTimeQueryDataTest();
对加一行 var_dump($datas)去看看返回结果
例子中不会返回 所以要注意
重点是历史报告
首先使用
$id=$testService->getProfessionalReportIdTest(); 获取id
有了一个id一行
在去修改
getReportStateTest()
以及
getReportFileUrlTest()
里面的id号码
即可通过
    $datas=$testService->getReportFileUrlTest();
    var_dump($datas);
打印出来下载报告的url
更新:2018-12-4  增加了一篇20行代码调用百度api的文章 可以参考

因为工作需要,需要经常使用百度推广去下载数据,使用过doubleclick的工具以后发现可用通过api来调用数据

减少登录平台的次数,最重要的是可以和其他平台数据打通,但是网上几乎找不到百度推广api的教程,所以自己摸索
后总结了下
首先我们去下载一个php的百度推广api的模板,最简单的办法就是模仿
这里其实百度给出了 php版本调用百度推广api的例子文件 只是藏的太深了
我总算挖出来了
http://dev2.baidu.com/newdev2/dist/index.html
这里的最下面有php的 sdk  V4_PHP_SDK_20180307.rar
解压后里面由2个文件夹
drapisdk_php 核心库文件 里面列出来了许多调用百度推广api的方法 暂时不用动,你就当时备份文件
php_sdk_test这个就是我们的例子文件
进去 这里还有一个drapisdk_php  文件夹
我们只需要在这个文件夹中 配置好我们的账号密码和token即可
在CommonService.php这个文件中
define ( ‘USERNAME’, ‘baidu-222’ );
//PASSWORD
define ( ‘PASSWORD’, ‘222’ );
//TOKEN
define ( ‘TOKEN’, ‘222’ );
需要换成自己的账户密码以及token
然后运行php_sdk_test文件夹下的 account_service_test.php
既可以看到账户的余额以及一共消费金额
需要注意这个文件里面会自动吧账户上限设置为789,需要屏蔽这段代码
然后返回的信息是一共json对象$response,需要用php的函数转为数组,然后这个数字是个3维数组
    $a=json_encode($response);
        $array = json_decode($a, true);
        echo $array[‘data’][0][‘balance’];
遇到不懂的就//var_dump($array[‘data’]);
即可
然后就是报告了
这里有2种报告 实时报告没什么用,简单说下
在reportService_test.php这个文件里
先修改对应函数的报告起始时间,主要实时包含最多60天,然后记得
$datas=$testService->getRealTimeQueryDataTest();
对加一行 var_dump($datas)去看看返回结果
例子中不会返回 所以要注意
重点是历史报告
首先使用
$id=$testService->getProfessionalReportIdTest(); 获取id
有了一个id一行
在去修改
getReportStateTest()
以及
getReportFileUrlTest()
里面的id号码
即可通过
    $datas=$testService->getReportFileUrlTest();
    var_dump($datas);
打印出来下载报告的url
2019年11月12日 | 标签:

 

工作中会收到大量的信息和数据,里面很很多干扰的信息,我们可以通过excel去整理,使用排序,过滤筛选,获得自己想要的数据,但是这样还是不够直观,我们可以通过图表化进行表示
但是如果数据量足够的大,我们需要看的图其实也很多,但是报告的篇幅显示,我们是无法展示上百张图
这个适合就能凸显动态图表的好处
什么是动态图表呢,相比传统的静态图表,我们可以点击不同的按钮,按照我们需要的时间范围,以及数据的类型查看
举个例子
我们需要查看公司最近5年的销量,那么就是按年查看数据(x轴),y轴就是公司销售
但是我们需要按月查看x轴就要改了,甚至是按周去查看
并且我不满足按公司去看,我需要按部门去看销售,甚至是不同的小组去看
这些如果传统的只做需要上百张图
例如时间维度x轴就是 按 年,月,周,日  这4种变化
按指标维度y轴 就是,公司,部门,小组,假设公司有5个部门,每个部门有3个小组
整个数据量就是4*5*3 60多种组合  需要60个表才看看完
但是通过动态图表 我们只用做一个即可
下面我会另外起一篇 如何具体制作
本篇主要是研究了2天的心得
1,动态图表需要使用 excel开发选项卡的控件,如下拉框,滚动条等
2,动态滚动条的作用是2个,提供图表上可以点击切换的选项,比如时间下拉框里面由按 年,月,周,日,比如指标下拉框里有公司 部门,小组等,还有一个作用是反馈用户点击的选择的值,比如点了年,会输出1,点了月会输出2, 这样可以给后期使用公司判断提供参数,我们可以写if判断,根据输出的选项的值 ,生成一个为图表的数据列,这样的数据列就是可以给图表引用
3,做动态图的核心难点也最容易出错 包括我自己花了几个小时都一致晕的地方就是动态数据列
首先,图表的数据选项区域是无法使用公式,比如if或者offset,这里我至少耗费了4个小时去尝试在图表的数据选择区域如x轴区域,y轴区域去修改公式,其次,必须使用名称,并且在名称中是可以使用if或者offset公式来定义区域,这里建议新手用if比较简单,名称的名字一定不能使用数字,否则会报错,这里我也耗费了3个小时,应该不知道这个原因,一直绕,最后,单元格名词前面和名词前面,一定要使用sheet名词,并且在图表选择区域也一定要输入sheet名,这里是第3个坑 我也耗费了2个小时 老是添加不进去
注意上上面几点,剩下 就很简单,熟悉下offset公式,用它 先定位一个单元格,然后再使用它的后面的参数,生成一块区域
对于方向感差的人 就记得 先移行 再移列,再区域划定也是先划定行,再划定列
如 offset(a1,偏移行(下是加,上是减,和行号变化方向一致,偏移列,右移是加fan’zhi
工作中会收到大量的信息和数据,里面很很多干扰的信息,我们可以通过excel去整理,使用排序,过滤筛选,获得自己想要的数据,但是这样还是不够直观,我们可以通过图表化进行表示
但是如果数据量足够的大,我们需要看的图其实也很多,但是报告的篇幅显示,我们是无法展示上百张图
这个适合就能凸显动态图表的好处
什么是动态图表呢,相比传统的静态图表,我们可以点击不同的按钮,按照我们需要的时间范围,以及数据的类型查看
举个例子
我们需要查看公司最近5年的销量,那么就是按年查看数据(x轴),y轴就是公司销售
但是我们需要按月查看x轴就要改了,甚至是按周去查看
并且我不满足按公司去看,我需要按部门去看销售,甚至是不同的小组去看
这些如果传统的只做需要上百张图
例如时间维度x轴就是 按 年,月,周,日  这4种变化
按指标维度y轴 就是,公司,部门,小组,假设公司有5个部门,每个部门有3个小组
整个数据量就是4*5*3 60多种组合  需要60个表才看看完
但是通过动态图表 我们只用做一个即可
下面我会另外起一篇 如何具体制作
本篇主要是研究了2天的心得
1,动态图表需要使用 excel开发选项卡的控件,如下拉框,滚动条等
2,动态滚动条的作用是2个,提供图表上可以点击切换的选项,比如时间下拉框里面由按 年,月,周,日,比如指标下拉框里有公司 部门,小组等,还有一个作用是反馈用户点击的选择的值,比如点了年,会输出1,点了月会输出2, 这样可以给后期使用公司判断提供参数,我们可以写if判断,根据输出的选项的值 ,生成一个为图表的数据列,这样的数据列就是可以给图表引用
3,做动态图的核心难点也最容易出错 包括我自己花了几个小时都一致晕的地方就是动态数据列
首先,图表的数据选项区域是无法使用公式,比如if或者offset,这里我至少耗费了4个小时去尝试在图表的数据选择区域如x轴区域,y轴区域去修改公式,其次,必须使用名称,并且在名称中是可以使用if或者offset公式来定义区域,这里建议新手用if比较简单,名称的名字一定不能使用数字,否则会报错,这里我也耗费了3个小时,应该不知道这个原因,一直绕,最后,单元格名词前面和名词前面,一定要使用sheet名词,并且在图表选择区域也一定要输入sheet名,这里是第3个坑 我也耗费了2个小时 老是添加不进去
注意上上面几点,剩下 就很简单,熟悉下offset公式,用它 先定位一个单元格,然后再使用它的后面的参数,生成一块区域
对于方向感差的人 就记得 先移行 再移列,再区域划定也是先划定行,再划定列
如 offset(a1,偏移行(下是加,上是减,和行号变化方向一致,偏移列,右移是加fan’zhi
2019年11月10日 | 标签:

 

项目目的

有一个客户的网站上有上万的页面,我们需要对所有页面进行扫描并且分析是否包含敏感词,避免被搜索引擎降权和违规风险
项目背景
客户提供了一个xml版本的 sitemap的文件,包含网站的全部URL
关于如何获得网站的全部url 可以参考这边文章  免费sitemap 工具生成10万页面XML格式网站地图
思路分析
可用利用excel简单过滤,即可得到所有网站URL,大概一万多个页面,需要通过工具或者写代码的方式抓取页面的内容,并且结合分析每个页面的内容是否包含敏感词库,所以可以分3个步骤来完成
1,获取网页的所有内容,放到excel的一列中,每行第一个单元格放url,第2个单元格放页面所有可见内容,第3个单元格用来判断是否包含敏感词
2,把敏感词库放在excel的另外一个sheet中,合并一列
3,利用公式,遍历网站的内容,并且每个页面的内容去匹配判断是否包含敏感词库里每一行结果
实施细节
Part1, 获取页面内容,
 我们本来使用python来抓取页面,但是考虑到需要大量页面的抓取,需要考虑的因素比较多,从0开始写代码 时间成本太长,需要些各种异常情况判断,如301,302,404 ,502等,并且通过python抓取的内容,需要存放在csv中,这需要额外去增加读写csv的代码,在没有熟悉成熟的框架的情况,该方法不合适(主要没实际掌握如何使用爬虫框架,只会简单语法),于是相当利用网站现场有的工具来爬取页面,免费的用的比较久的网页爬虫软件,推荐使用火车头抓取工具,老品牌,以前学习过,类似的工具应该也有,访问网址http://www.locoy.com,下载最新版本,免费版本有些限制,如不能添加抓取内容的高级规则比如正则过滤等,还有抓取的数据不能使用mysql,也不支持导出为excel,不过后面会有办法解决
下载安装好火车头爬虫后,使用抓取向导,记住使用根据url来抓取,

查看更多精彩图片

然后设定提供的url是内容页(否则会打开你提供的url吧里面所有的url都抓取,按就不是一万个页面,是好几万)然后设置抓取内容规则,
 主要先使用body 开头以及body结尾
 再添加字符串前缀补上一个<标签
 再使用去除html
 再替换所有的空格
 既可以得到全部网站文字
查看更多精彩图片
设置好爬取的速度,3秒打开一个页面然后开2个线程,同时开2个页面比较好
大概20分钟就可以把1w个页面全部抓取好
part2, 将火车头的数据导出数据到excel
我们使用的是免费的火车头版本,是不能导出数据,查询得知,她的数据文件名后缀是db3,既为sqlite格式的
查看更多精彩图片
然后我们走了很多弯路去吧db3的文件转换为excel,先使用sqlitetoexcel,根本不好用
然后使用sqlite expert也无法打开,很多软件是收费版本,无法导出
最后才知道一个波兰的良心软件 sqlite studio
https://sqlitestudio.pl/index.rvt
这个比较好,可以支持打开db3文件并且导出为csv
然后我打开以后是乱码,没关系 使用记事本打开 另存为utf8
查看更多精彩图片
然后就可以复制到excel中
至此,即可完成抓取整站内容到excel的工作
查看更多精彩图片

接下来就是简单的excel公式通过小找到去匹配关键词库,是否包含即可
excel的公式方法在前面有讲到
http://cotine.blog.hexun.com/115744120_d.html
使用的是模糊匹配(大匹配小)

项目目的

有一个客户的网站上有上万的页面,我们需要对所有页面进行扫描并且分析是否包含敏感词,避免被搜索引擎降权和违规风险
项目背景
客户提供了一个xml版本的 sitemap的文件,包含网站的全部URL
关于如何获得网站的全部url 可以参考这边文章  免费sitemap 工具生成10万页面XML格式网站地图
思路分析
可用利用excel简单过滤,即可得到所有网站URL,大概一万多个页面,需要通过工具或者写代码的方式抓取页面的内容,并且结合分析每个页面的内容是否包含敏感词库,所以可以分3个步骤来完成
1,获取网页的所有内容,放到excel的一列中,每行第一个单元格放url,第2个单元格放页面所有可见内容,第3个单元格用来判断是否包含敏感词
2,把敏感词库放在excel的另外一个sheet中,合并一列
3,利用公式,遍历网站的内容,并且每个页面的内容去匹配判断是否包含敏感词库里每一行结果
实施细节
Part1, 获取页面内容,
 我们本来使用python来抓取页面,但是考虑到需要大量页面的抓取,需要考虑的因素比较多,从0开始写代码 时间成本太长,需要些各种异常情况判断,如301,302,404 ,502等,并且通过python抓取的内容,需要存放在csv中,这需要额外去增加读写csv的代码,在没有熟悉成熟的框架的情况,该方法不合适(主要没实际掌握如何使用爬虫框架,只会简单语法),于是相当利用网站现场有的工具来爬取页面,免费的用的比较久的网页爬虫软件,推荐使用火车头抓取工具,老品牌,以前学习过,类似的工具应该也有,访问网址http://www.locoy.com,下载最新版本,免费版本有些限制,如不能添加抓取内容的高级规则比如正则过滤等,还有抓取的数据不能使用mysql,也不支持导出为excel,不过后面会有办法解决
下载安装好火车头爬虫后,使用抓取向导,记住使用根据url来抓取,

查看更多精彩图片

然后设定提供的url是内容页(否则会打开你提供的url吧里面所有的url都抓取,按就不是一万个页面,是好几万)然后设置抓取内容规则,
 主要先使用body 开头以及body结尾
 再添加字符串前缀补上一个<标签
 再使用去除html
 再替换所有的空格
 既可以得到全部网站文字
查看更多精彩图片
设置好爬取的速度,3秒打开一个页面然后开2个线程,同时开2个页面比较好
大概20分钟就可以把1w个页面全部抓取好
part2, 将火车头的数据导出数据到excel
我们使用的是免费的火车头版本,是不能导出数据,查询得知,她的数据文件名后缀是db3,既为sqlite格式的
查看更多精彩图片
然后我们走了很多弯路去吧db3的文件转换为excel,先使用sqlitetoexcel,根本不好用
然后使用sqlite expert也无法打开,很多软件是收费版本,无法导出
最后才知道一个波兰的良心软件 sqlite studio
https://sqlitestudio.pl/index.rvt
这个比较好,可以支持打开db3文件并且导出为csv
然后我打开以后是乱码,没关系 使用记事本打开 另存为utf8
查看更多精彩图片
然后就可以复制到excel中
至此,即可完成抓取整站内容到excel的工作
查看更多精彩图片

接下来就是简单的excel公式通过小找到去匹配关键词库,是否包含即可
excel的公式方法在前面有讲到
http://cotine.blog.hexun.com/115744120_d.html
使用的是模糊匹配(大匹配小)