AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Propeller Ads
 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G需要代理IP?⚡️Proxysites.ai⚡️指纹浏览器,就用AdsPower
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
FB BM不限额,短id账单户E.PN 虚拟卡DuoPlus专注打造跨境电商云手机BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)9Proxy ⚡️ $0.04/IP, 无限带宽 IPCola原生住宅IP⚡️$1.8/条双ISP
Google、Bing官方总代  联盟流量开户fb耐用号0.01一个fb账号官方合作商FB资源,账单户,分享户,国内一手
FB企业户BM户账单户源头收FB代投工作室,收TrafficFactory账号IPWO全球住宅代理⚡️免费测试⚡️FB海外三不限-户源多 费率低
PTM全球虚拟卡—进来交个朋友!PTM虚拟卡⚡️费率透明⚡️额度随心多币种虚拟卡,消费享高额返现广告位出租
虚拟卡返佣1%,国内持牌机构   
查看: 18514|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
Lemft
本帖最后由 yang。 于 2021-7-15 23:15 编辑 " ~3 R; N2 g+ q* O! d) {) f, y( }) }
! F- `  r; c: S; h4 s3 g
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
7 u0 m) p0 ?6 @! b& R但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
8 X  O, A6 d& X4 r9 J/ W0 P+ R5 L/ w. @2 d( L
另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
' \/ x" {; N! D/ ^
% W) D& V* `: h具体做法是:
9 T7 M; V: G; O% M- ?5 o8 F4 H+ B2 D8 f0 ], h5 ~5 E% N2 N! T7 G) ?
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
4 H3 T$ H1 Q2 }假设前置页面的访问路径为 http://www.xxx.com/8 i: Q' R* }* O
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  ; Q7 q  {5 X$ Z' U5 a
http://www.xxx.com/iphone/02/index.html
& R( F4 L, W8 z  V那么我们在追踪器中设置的LP访问路径为' J4 M9 q) |* I) F, F% Y- p
http://www.xxx.com/?offerUrl=iphone&landUrl=01
4 _& V% l8 r4 i: o! Jhttp://www.xxx.com/?offerUrl=iphone&landUrl=02
/ Y& p2 k* P4 P& I7 X5 i  ^; ?这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理
. z! j, ^) C$ [- }! S& O( z
) y% {! U8 U: T! C+ g- i! k这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。
8 _. o1 v9 H/ K: l8 P4 f$ p/ `% }4 e9 H' i; o- G# @, N

; g4 s/ \- Y3 c2.前置页面内容如下
/ \1 Z/ m4 _* Q- V  E+ N
  1. <!DOCTYPE html>
    . V. S$ B# m: m1 H0 ^# P
  2. <html lang="en">
    7 ^/ r8 L4 E( R+ V4 @3 n( _  t
  3. <head>0 q# X5 F4 K0 u
  4.     <meta charset="UTF-8">' R1 i, ?2 V* @& @
  5.     <title>Loading</title>2 M8 ~) o0 E8 y& H
  6. </head>
    : m/ I6 n4 a* R% Q2 u) q3 ~' p5 s% K; {
  7. <body>
    # b& U8 g3 I& m6 K  x8 r; Z
  8. Loading...3 `9 u+ Q8 g" g9 u9 ~" l
  9. </body>  h; ~2 C2 l" S6 W/ K
  10. ( P  R: [9 [; Q4 C. `/ j7 B" r
  11. <script>, q! L; M) g" t/ e
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成$ b0 T9 O5 m8 r/ B; [
  13.     //iphone. v. Y+ x* |8 P$ K; C
  14.         //01                     http://xxx/iphone/01/index.html5 n% g2 g, |# S$ H8 ?
  15.         //02                     http://xxx/iphone/02/index.html
    ! Z! K) ~9 l0 g* d
  16.         //以此类推
    $ I4 _, V9 h9 h$ b! d( I0 f" n7 Q  w. V
  17.     4 ^6 L  L) a9 u
  18.     8 h; G" z) b3 i0 p) O7 `. K( |+ j
  19.     " H' o. \9 V' z  p! `* F7 f& U$ S
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html4 ]3 u+ R% O7 V% [9 d2 y
  21.     //那么我们的offerUrl = iphone,landUrl = 01" F4 h6 q0 G0 X
  22.    
    5 X4 w" ~. N2 J& c% A- N
  23.     //从url参数中获取设置好的访问参数
    0 d4 {8 t. @4 O$ v
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    ; }" L4 i9 i( u3 X& n( u0 z: I* D
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    8 H3 W7 }- i2 \6 ~
  26.    
    9 k! I+ b/ ?7 J0 L* T; `2 _
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    ; U' X5 p! Z, L
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);/ y. w5 f* F% P- h# M7 a' q
  29.     if(b){
    3 P1 E. I; Q! c5 i8 c
  30.         setTimeout(function() {2 }; {! b/ W- W3 d( I
  31.             var params = funcUrlDel(['offerUrl','landUrl']);, k* ]0 \+ Z% Y- n5 \5 W+ S% M
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤3 E  i: J8 c4 N
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);$ _( {0 H/ q; `- A( U
  34.         }, 300);
    3 f  \& I, [6 P' H3 C* |  q# C% Z" f
  35.     }else{
复制代码
+ f( g7 o5 I. B3 }( ?" H" J

4 Q5 z' f6 F" ~& a: r: T" ?% }3 g! m. }
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。( R. p% p3 |. q/ T# y

5 U6 E) w# R" X. i# B8 G* ]
% P! H: M: j* _% p/ j
3 X) ?8 A9 S4 v9 A
' Q6 [+ g3 x8 D4 L! C2 ]6 d/ K3 s4 @  L0 a2 [8 F  L
$ b; a3 [8 z) N7 J. E  ]6 Y, q
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1629

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
26846

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
6 E3 N% R, w& q% i
6 u+ W8 m3 q1 ?0 u# f: i6 y3 x但是对于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
5 l3 o+ }! {+ H+ x; }想法是好的
0 p: h  {, k4 l$ ?, \7 l2 z9 W& v$ v7 U  U
但是对于tracking来说,多一层跳转,一般会多一层流量损失
* K# @" `' ]4 n' Y% H# R
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55/ o7 h( B+ Z0 Z- f! f8 k
想法是好的
. p+ Q) G" j, j  B
9 u3 E2 V  u3 T* y但是对于tracking来说,多一层跳转,一般会多一层流量损失
% |7 `( o* A- n3 K1 n
经过测试,直接用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
: z9 Z( u! U: E  i8 L3 f& y1 w& `额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...
5 y5 R( R4 \7 T2 @2 g$ R
1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。$ B# }4 W* r! M' v
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。
) F; R" r# W2 ^! I& p/ Y% }3 C3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>0 W; N+ u( U+ ~  j( Q) V8 E
3 z! }  T: }9 t( E! C! n# A. E0 K
4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

864

广告币

999

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-22 22:12 , Processed in 0.048877 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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