AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️最干净<Wifi住宅+5G移动>IP代理指纹浏览器,就用AdsPower
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利广告开户独立站⚡️开户投放
DuoPlus专注打造跨境电商云手机E.PN 虚拟卡BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
MediaGo+Taboola+Ob开户百度国际MediaGo⚡️让产品狂奔全球百度国际,高点击转化,快速放量百度国际MediaGo,独家原生流量
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值
Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款
各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户一手BM分享户不限额9Proxy ⚡️ $0.04/IP, 无限带宽
FB二三解0.1元一个虚拟卡|PTM星际卡FB专用虚拟卡Google、Bing官方总代  联盟流量开户
FB账号资源/稳定靠谱/运行5年啦FB开户代投/三不限/白名单广告位出租 
查看: 17831|回复: 7

[分享] 简单垃圾流量利用及爬虫过滤、JS支持校验方案

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-7-15 23:15 编辑
- C1 X6 v1 @; P2 v8 w: j0 ^! {+ a3 _0 z" }! X( c
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
/ K! y6 c, ^1 C- [7 I但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。2 i5 w$ w$ B' ]9 Y1 ~) h

# N9 s$ U! J9 D/ [另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。6 v* P" M4 Y& W* j2 D% w. `7 W. d
$ ]% s& K7 w$ A% t
具体做法是:) X% y9 R) U& |0 G2 z# H9 F7 _4 {

+ g7 o9 A, g7 J1 x9 F7 y1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
" d% @) d3 p* _9 `( j假设前置页面的访问路径为 http://www.xxx.com/: O9 I6 }8 x; t, |/ y6 R
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  8 _3 S1 h0 t4 h' b$ {( f8 D' a% z
http://www.xxx.com/iphone/02/index.html
  g  a; D1 Q9 J* T# r; D( D那么我们在追踪器中设置的LP访问路径为
/ k: G; d  l! y$ N5 ]http://www.xxx.com/?offerUrl=iphone&landUrl=01: s& F- {0 }8 `2 ?
http://www.xxx.com/?offerUrl=iphone&landUrl=02
5 @" X" q: E8 e3 o- n" [0 z4 V这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理$ ^6 Q3 g" b' T' h

+ U$ ~) w: f7 u- C这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。+ n7 T4 t* C- ?4 L% i
8 J% v: D  L" s5 C( q2 V. A, o

4 I9 Y/ o% \; H4 E2.前置页面内容如下& y7 j" G5 }- A1 A. C
  1. <!DOCTYPE html>
    0 D, |- c9 L- p% t5 i
  2. <html lang="en">
    3 Z, J. f7 {$ Y7 w8 R+ p& P- i: H
  3. <head># V3 f9 |2 F5 i, H$ [6 p
  4.     <meta charset="UTF-8">+ J' w1 H# Q9 U+ c# J+ w( H
  5.     <title>Loading</title>
    / @$ Q( P7 i, g9 d+ J7 c1 |* ?4 E# U% d
  6. </head>: M$ \0 ^9 Y; F( P( {3 i: K( Q
  7. <body>
    3 D* i' E. @' D: {9 r, P. l2 J9 g
  8. Loading...
    , p0 a+ |( d; I: X; `; G
  9. </body>" J( |8 O7 B7 X$ O0 A

  10. ! C* u4 {# T0 G
  11. <script>7 a+ j/ W; v( D& B  O3 ^) J
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成' N* E$ Y  l$ C6 O- |
  13.     //iphone+ C9 D3 w1 M8 |
  14.         //01                     http://xxx/iphone/01/index.html
    " P: ~2 W  G( R9 l* c0 o+ z% g; D: q
  15.         //02                     http://xxx/iphone/02/index.html
    ! l) G/ J8 b' |# q9 G# m
  16.         //以此类推
    3 q: l: w; P; s& z# ]: ~# |
  17.    
    6 D$ d3 A# @' k# h' C
  18.    
    $ E. n/ K7 l# Y$ i' \" z* x
  19.    
    6 w  g9 j) J+ [! ?+ [4 ~
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    ) m5 k! F4 r  l* m' ^' ]" `6 ?& G
  21.     //那么我们的offerUrl = iphone,landUrl = 01. A$ |! U/ W/ [' q
  22.     5 I  e( d* e: r8 z( o+ a- F7 U
  23.     //从url参数中获取设置好的访问参数* R7 w, c3 r' `% D$ M6 |
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");1 \9 L6 w1 M! x$ q- p; D
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    3 t9 _" O, U3 P: }! ~6 i5 t4 n
  26.     $ \' O. m% r& t
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    5 \1 `; [$ u+ k
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);
    7 _9 A+ M# N% m8 W
  29.     if(b){
    & T/ Z/ f4 s, q# y( |+ x
  30.         setTimeout(function() {6 W9 ?0 g) M: a; e
  31.             var params = funcUrlDel(['offerUrl','landUrl']);
    # C, A1 r- q( u5 \6 q
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤2 i0 x; ?/ m% n; P8 j& c& G
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);( o$ I! z* ^9 J
  34.         }, 300);
    9 ~. g) D1 H, `# X$ P
  35.     }else{
复制代码

2 t  O4 V3 w/ b; v. z' u$ y  @0 I/ B5 v
5 r/ K* ?* t2 j; v* G/ [4 w! v' X. Z2 J
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。( m8 K/ @- o3 X  t" Q$ o
; d3 A7 v( p6 x) l: f& U: U4 T+ Y
5 h5 j3 H9 N% e; E, i  U, G& z( e

( z' C# l# Z6 X& _1 O) j; B" D) B, ]  h
4 f6 J' u5 m! x+ G5 R: [* f7 e

2 p, E6 p% d) K7 M' K
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-15 23:28:50 | 显示全部楼层
当然,引申一点,如果你的LP做的足够通用,比如你做的一个专门为各种手机抽奖的LP,每种不同的手机都有一组相同名称的图片,你完全可以通过传入参数去加载不同的手机图片、或者语言等等,通过一个LP,不同的参数组合实现N多个offer的复用和测试
回复 支持 反对

使用道具 举报

1616

主题

2万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
29607

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
' u2 k. ~/ N. @( V5 O- z, X( d. m* Y* X$ N0 K/ F0 `
但是对于tracking来说,多一层跳转,一般会多一层流量损失

点评

经过测试,直接用load的方式,用户基本无感,应该会比直接跳转的方式要好很多,相当于通过ajax隐藏了中间跳转的细节  详情 回复 发表于 2021-7-16 10:28
请教下河马大大 如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div  详情 回复 发表于 2021-7-16 09:47
学会提问的艺术, 从小处入手, 忌大而空
AdvertCN电报群

我最喜欢用的工具
7200W全球动态不重复住宅IP代理
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 09:47:46 | 显示全部楼层
河小马 发表于 2021-7-16 07:55
: R* Z% h$ L/ A想法是好的7 `  h: ?7 p3 ~/ u
, i! ~- E) q% K
但是对于tracking来说,多一层跳转,一般会多一层流量损失

" s. |  j6 i( P2 t" \+ M6 v请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55
  Z& s( @: M. s想法是好的) J# E/ S& {$ H. t% y

, Z% v- D1 b! `) J3 c# W但是对于tracking来说,多一层跳转,一般会多一层流量损失
. B; C6 A1 R  f, m
经过测试,直接用load的方式,用户基本无感,应该会比直接跳转的方式要好很多,相当于通过ajax隐藏了中间跳转的细节
回复 支持 反对

使用道具 举报

3

主题

13

广告币

22

积分

初级会员

Rank: 2

积分
22
发表于 2021-7-16 22:06:24 | 显示全部楼层
额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核。。。小白一枚 不是杠 真心求教

点评

1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。 2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。 3.这个在自己服务器内部流转,应该不会被判定。  详情 回复 发表于 2021-7-17 10:52
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-17 10:52:29 | 显示全部楼层
卡拉赞 发表于 2021-7-16 22:06
  r" |- {7 z% p) N# S& T额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...

8 o, I( K+ I1 h" w7 s( A1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。; T: @; W+ h  l/ O
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。
, ^- J* a1 K8 K+ E2 k3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>* r' p' ?4 t3 M# }+ `; x

) z, m) P' p, ?; n6 H0 b% o4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

775

广告币

927

积分

中级会员

Rank: 3Rank: 3

积分
927
发表于 2021-7-17 12:17:23 | 显示全部楼层
技术大佬,人才
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2024-11-16 01:47 , Processed in 0.047491 second(s), 14 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表