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 虚拟卡⚡️BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)IPCola原生住宅IP⚡️$1.8/条双ISPFB海外户、GG老户、TK加白老户
海外CL企业户源头FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量 FB个号1块一个
TikTok2审户/老户/国内外端口/加白GG,FB,TK, 欧美源头, 欢迎合作❤️Proxy4Free独家住宅IP池❤️免费测试联盟收款/海外资金下发/服贸结汇
域名防红⚠斗篷工具/可试用3天广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构
查看: 19274|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
PTMLink
本帖最后由 yang。 于 2021-7-15 23:15 编辑
6 Z. v3 t. c  w% |  {8 ?# H+ X! A' v6 j( |! H
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
5 q% u- t& j) [- Q但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
' c# Y% a3 F" N2 y# a9 b
9 D5 a+ A( w+ A* U$ P5 i8 o+ D2 m另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
' ~3 h. l; X- U) w( f
1 u  k* ?0 L- C9 K具体做法是:/ \, z& x' v$ n
+ j! ]& A9 L6 Q) O! c9 V
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。5 Q8 q0 Z+ c% J5 C
假设前置页面的访问路径为 http://www.xxx.com/
9 F% z; A: i, ?3 y3 o- U2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  
  _2 F$ K8 ?* d8 }8 x( {) w( Fhttp://www.xxx.com/iphone/02/index.html5 m: H& I8 a6 w! z) x* o
那么我们在追踪器中设置的LP访问路径为
: v" t( o- z3 _5 w# |6 g8 rhttp://www.xxx.com/?offerUrl=iphone&landUrl=01, \$ m4 A/ `) P
http://www.xxx.com/?offerUrl=iphone&landUrl=024 F- \! X. q: u& v" x. b
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理
* g9 U( s; Y: V; O+ i, w8 z) v+ o( N+ q0 o2 _; c3 i% Y9 [+ k& y
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。; O1 [" e- n- x2 g  d

! g/ c/ D1 _( Q
3 T6 @6 }/ m8 X& w2.前置页面内容如下7 g" u& b; q9 L1 u7 p/ H
  1. <!DOCTYPE html>  {' H  p4 H$ p' e5 k* y$ s$ i
  2. <html lang="en">
    8 w# z  d" d; E) p: K
  3. <head>
    7 s9 F* U$ j- ~
  4.     <meta charset="UTF-8">
    % v0 ~0 h! X1 t* e# u% ^
  5.     <title>Loading</title>
    ( i/ C* }: L6 h2 C/ `
  6. </head>
    + O( p/ J& X3 @) x  Q  V$ j
  7. <body>. J% T1 a6 X" n/ y3 L
  8. Loading...
    6 `# G" L6 T; \$ Y9 g
  9. </body>
    1 N" R& ^3 j" B% L) s6 ?5 u

  10. ( a. V/ E. a$ V! u& l0 J* Q
  11. <script>) u$ {$ F: z( G6 v) w
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成% t: n! l: I$ m0 d
  13.     //iphone
    ) g9 p$ q: r" v
  14.         //01                     http://xxx/iphone/01/index.html
    1 K, g# \( q( d; j; |; G
  15.         //02                     http://xxx/iphone/02/index.html
    9 O' s& o9 l& e
  16.         //以此类推
    4 F/ c; S+ E* |4 W5 c
  17.     ) d' H. v! |% x
  18.       C& o# a" t, J* K  L$ N% C# K& Z  K
  19.    
    ; o" s0 C2 N5 A8 i! t+ D, M/ }
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    # B1 E% m9 |8 V* `
  21.     //那么我们的offerUrl = iphone,landUrl = 01
    , c& m& H  U# A' j: H5 B  L
  22.     0 D+ Z, N8 X2 l4 v- P3 y5 e
  23.     //从url参数中获取设置好的访问参数- Q1 ]& q; i  z9 u9 q
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    1 u6 m8 j' }, W5 T$ r1 ^" N2 C- \% }& F
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");6 Q0 i/ B4 E1 K5 }2 b6 _4 \
  26.     8 e( r4 [1 R6 \" e9 n' Y4 ^
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径. \6 C0 m8 X4 n# Y  f8 Q, I! i
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);
    ' J3 P/ i; b! z& x. d; N
  29.     if(b){. p1 V( i; f( V
  30.         setTimeout(function() {
    $ U3 }2 L, Y7 m8 x
  31.             var params = funcUrlDel(['offerUrl','landUrl']);% D. P+ A$ O/ q. m9 ~$ t$ R
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤% e. @8 h( s2 p5 ?
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);- p" A- J5 `8 {- \8 I
  34.         }, 300);  O& {2 e! t: b2 j
  35.     }else{
复制代码
1 C/ v$ c- y/ ~) b8 e* e5 I

) r, D6 {& h  F! O
% n5 [% r- M5 U& d只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。1 b5 \$ x0 O1 }6 A/ L
) L7 H- B% @3 I6 W  l/ \8 ~4 Y
2 p: D5 e3 Y; w! [. q8 Q+ }

+ J4 r+ g& C+ s( o  j$ P# H, W6 n" }

7 j. y- s5 O1 n4 C$ X# y6 D$ b
" K3 w, B7 ~1 [' c0 b- y- s+ X
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1657

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
27693

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
. T( k3 l5 }1 e( H& Y" [+ l$ f9 B5 C5 Z+ S1 C. u7 M7 A$ D  K
但是对于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
& N" t, m- {. @2 W% ^4 U想法是好的
" H0 a6 Z9 r& e$ ]6 M
! z! Z8 m$ `# V4 V! J& [% `( y但是对于tracking来说,多一层跳转,一般会多一层流量损失
4 v  B% ^" ?, B
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:558 c& ]# ?% u% i2 m' m
想法是好的7 n. y1 d! J- K* {: g1 _

/ }4 R; u2 X) w  x6 ]2 U但是对于tracking来说,多一层跳转,一般会多一层流量损失
: j) o5 i7 Z  V) 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:06; t7 G' ]. w, V0 t; E$ Q
额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...

) E1 ^1 \+ |4 X9 u5 c- i$ a  a1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。  I6 o0 g* t! x/ j1 H7 C/ i) v; g
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。" ^8 g( P4 Y7 p. J' Z! J3 t
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>
8 k( `4 o4 g4 P" x0 D
1 B& `5 G% b. p) y1 m5 v* b/ h4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

844

广告币

997

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-10 09:58 , Processed in 0.057467 second(s), 19 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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