AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️FB BM不限额,短id账单户
BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理
虚拟信用卡+独立站收款全球虚拟卡, 支持U充值各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户
IPCola原生住宅IP⚡️$1.8/条双ISP提供TK企业新户老户、谷歌新户老户PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多
FB稳定代理/住宅IP/ADV50打五折 FB个号1块一个寻找顶级电商?AdsBranded等你!TK老户/国内外端口/预审/加白
SX.ORG 高质量代理⚡235+ 地区GG,FB,TK, 欧美源头, 欢迎合作广告位出租8500万高质量住宅IP,助力各种需求
虚拟卡返佣1%,国内持牌机构   
查看: 19110|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-7-15 23:15 编辑
0 e+ g8 X1 ]: A2 H7 x3 O) j2 `
" f. D, Q$ D  }8 \$ O) Z' t在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。$ F6 m, J( h  ]
但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
. g& J/ I: c4 t1 j- ^! q& V: G
* s' W4 i0 J* ~. ?# Q  V# T' s另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
) h$ r1 \4 ^8 b3 c( `9 S
, _& H$ e& i  f! W8 M! u" h( @具体做法是:
+ B, B9 G! t/ ^0 a
( [2 }1 j' y$ o9 ]2 l1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。2 l9 z1 ~- L: f1 u2 D
假设前置页面的访问路径为 http://www.xxx.com/
0 d6 a& n+ U+ D( B2 a# Y5 o2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  0 R9 ~% C1 y0 q# v; |. C
http://www.xxx.com/iphone/02/index.html
! {. j" E8 Q- B6 w. K1 [7 E那么我们在追踪器中设置的LP访问路径为# C8 A% o6 H, `* E/ X+ M7 q6 {
http://www.xxx.com/?offerUrl=iphone&landUrl=01
# G7 v6 ]% @/ m, j$ ~, chttp://www.xxx.com/?offerUrl=iphone&landUrl=02  `! |: o7 Z( b. S, s* D& e
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理6 v8 `# f" t3 F

9 Z" b' ~# B2 B+ }, J这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。
: Y& Q+ H) K( T
% k, P5 v0 n" `; A5 K- W5 c6 a5 c+ [7 ^. b; o% K9 e
2.前置页面内容如下
6 r- @; i" u( T
  1. <!DOCTYPE html>
    . d+ s  l) M! a! `+ p8 c, i6 S
  2. <html lang="en">0 d! d$ D$ V3 r9 ?% V/ {
  3. <head>1 `) ^* C1 ?/ `9 E3 V7 m
  4.     <meta charset="UTF-8">$ e  q! L( s3 k) _' V
  5.     <title>Loading</title>
    # A3 q/ T9 f4 l# [
  6. </head>
    0 x7 |/ o& S9 c9 N/ P
  7. <body>( v. B4 n( j- v* p. L1 Z4 T) t
  8. Loading...# |; m/ M" V( y' u" n
  9. </body>
    8 I9 N( w% u7 G5 P, N* z
  10. 6 M! J% T+ P9 ~* o
  11. <script>
    0 R% P# Z1 G- b( g! O; r1 J
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成
    ' e; U/ `* g6 e: S
  13.     //iphone
    / o1 q2 n! I9 X& S% V& M/ i
  14.         //01                     http://xxx/iphone/01/index.html- n6 P1 [+ J+ l8 i& S
  15.         //02                     http://xxx/iphone/02/index.html
    8 }; [1 _; y% Z2 y4 z1 ^
  16.         //以此类推
    ' }9 J. ~$ K$ E7 Q5 @- @% }6 j
  17.    
    % b+ i' H! N7 n; E$ D# C# [0 J3 N
  18.    
    / K9 k7 a% X5 d9 v& _0 a. w! ?
  19.     , U8 h- y( g: F
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html% V6 @0 f5 Q( a: M
  21.     //那么我们的offerUrl = iphone,landUrl = 01  D3 y+ }* X, i0 C+ k7 ^
  22.     / e0 t& m! j% }; P) q
  23.     //从url参数中获取设置好的访问参数
    ' Q0 {3 A$ K. v- e4 q2 c0 R
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");7 q1 E$ @. X* d
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");0 v$ l$ n; B# c$ X) v- b
  26.     ' L6 d5 P+ X3 W0 f- S- S
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    , y( ]8 P$ P1 K" J9 D  c$ U
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);8 E' Y+ d8 \4 ]
  29.     if(b){
    # w" |! b4 ~. h" D# {9 D* x8 x
  30.         setTimeout(function() {
    9 J( u; J$ U" J' _* q* T: |
  31.             var params = funcUrlDel(['offerUrl','landUrl']);
    1 z  a1 y5 M( N$ X: s
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤2 v& J( U* J/ K5 w" i
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);
    6 ]& }( _- ~' K* w8 N3 A
  34.         }, 300);* @- }  H6 W$ X0 o/ V9 F; a
  35.     }else{
复制代码
- n: c5 _3 R% V' a) @4 k* s

1 e) y' X, H2 i. y
% v. e( t& V8 @0 x只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。' D5 }8 X6 @$ }' u% w7 F& Q
7 }* z- Y( g8 U
+ x& ?4 a- D4 h+ n/ X

8 ~( ^) A+ M( ~5 O
! T: i$ w( x% _  _' S3 [
4 L( O' o2 g8 ?4 P
2 ?" @( X* ~. V& y. w- q1 Q
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1651

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
27547

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的+ H& {) \5 x5 z, v. H2 E  w
* Y+ L1 G% [- b; v2 k3 T! X! A) d
但是对于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: W$ \# C9 H' j6 {4 j: y/ G( I
想法是好的
% Q. R' L7 i7 K" A5 G# p$ Y* [9 i, Y& F' O
但是对于tracking来说,多一层跳转,一般会多一层流量损失

( f: j& a( g  p  q( f6 L0 c4 A, @请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55! V9 n7 Q2 a3 u
想法是好的
4 P8 V) ^' ?9 H4 J0 d2 X$ l, `  P" J, o+ l, D
但是对于tracking来说,多一层跳转,一般会多一层流量损失
: \7 z  m" W. S( I. }. H8 t
经过测试,直接用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:060 t% w/ y; B6 C$ I, @3 P" a
额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...
) u  N$ Q0 u" i5 [2 S( M1 H
1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。
  O) J' E/ [1 `" @9 ^6 a2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。
: l0 Z6 }0 ?! ]. G: F  e3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>& l) @6 A- ^9 b& F% g6 X# I
2 }" D# b4 M( w7 _
4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

836

广告币

985

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-3 05:34 , Processed in 0.049688 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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