AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️AdsPower:安全不封号,高效自动化Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】
FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线
【官方】❤️搜索套利买量投流开户独立站⚡️开户投放FB BM不限额,短id账单户E.PN 虚拟卡
BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理
虚拟信用卡+独立站收款全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放
免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户
FB资源,账单户,分享户,国内一手FB企业户,TT老户,GG老户源头海外CL企业户源头PTM全球虚拟卡—进来交个朋友!
PTM虚拟卡⚡️费率透明⚡️额度随心FB虚拟卡⚡️消费越多返现越多【找量】BA独家Nutra单找量虚拟FB卡 ⚡️ 透明条件 
国内外持牌,虚拟信用卡和收付款广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构
查看: 18903|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
Lemft
本帖最后由 yang。 于 2021-7-15 23:15 编辑 . T$ ~/ ]0 }) @* Q, G* O

1 H# _5 {0 y; a$ J在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
% w9 ]9 V) z5 D$ T0 D, Y( F5 a0 H但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
& a: l2 f+ S0 K  x# W0 ^$ T5 M4 f: H. w1 }5 F& w) A
另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。  n4 V& G+ E1 @" p" Y8 \

, ]9 d# W+ R; e1 Q+ B  j) W. I具体做法是:
; p+ H* j0 u  K. \
1 h2 D* j7 _2 m6 C# f8 z* u1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
, P7 i( Y, l% d( n. n5 G% h8 ~假设前置页面的访问路径为 http://www.xxx.com/# V1 ?: ]3 ?, F
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  6 q/ U1 e4 {* ]* O6 u
http://www.xxx.com/iphone/02/index.html
0 T6 u, o& A3 Y! }2 O: s, [7 p那么我们在追踪器中设置的LP访问路径为! F) |% F$ t5 Z* L: e
http://www.xxx.com/?offerUrl=iphone&landUrl=01
: J: B, w9 A8 x. lhttp://www.xxx.com/?offerUrl=iphone&landUrl=021 i6 a0 A) Y" h* P- m
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理
: |% N: E- H& i0 z5 @
" f) o. {; Q& t4 T3 H这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。0 [& O8 B2 @0 m1 V* P
( ~% X0 r6 B3 q& u

* K0 k; ]3 m% A2.前置页面内容如下/ L+ w; z( z/ s3 v* s6 [
  1. <!DOCTYPE html>
    3 ~: h0 q! H1 ^
  2. <html lang="en">+ J& K  B/ v& @+ L4 _! j
  3. <head>+ M- |3 }1 ]  q2 L
  4.     <meta charset="UTF-8">
    5 a  O: D9 A) v
  5.     <title>Loading</title>
    & ^( N# c6 A0 ^, L
  6. </head>
    - M* W/ q7 G" J3 s3 e
  7. <body>  t, d1 S) W: g) O/ g! E
  8. Loading...  c9 ~: y7 u9 u  h" i: `
  9. </body>$ a0 x. v. h2 ~! A. y2 N
  10. 5 l- t! p  m9 j
  11. <script>
    6 a/ v$ Q) l3 W2 c
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成) n: L+ X$ L& U' a* V0 T; ?4 D
  13.     //iphone
    8 [3 C$ @% ^# K7 `5 E
  14.         //01                     http://xxx/iphone/01/index.html$ d, h8 [3 c! a$ d
  15.         //02                     http://xxx/iphone/02/index.html4 S2 w. f0 r+ _/ U1 ^1 Y
  16.         //以此类推0 s# i  q3 p7 p  T
  17.       f4 o% L& V( q* o/ p* c
  18.     $ C  y1 u6 L# c, w- n4 p! s) o
  19.    
    , y" {& o' k2 e6 b
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    , W4 U+ K8 k( Y1 w* d; C
  21.     //那么我们的offerUrl = iphone,landUrl = 013 [" a& F: j6 s! u- B* l; x2 h; t: c
  22.    
    3 L# d4 B# ~+ \4 w$ Z1 _, m! c6 O
  23.     //从url参数中获取设置好的访问参数8 H9 y; v- r7 U' |
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");! [% q' W. k: ]3 E( g* |( q
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");6 A" W# o1 t+ b6 I* Y$ l0 f
  26.     " b! ^* M# Z$ w2 {  G7 w  y8 ?  U
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径9 K" V0 U5 k! E6 e
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);0 w: z6 Q2 L9 p0 @
  29.     if(b){
    ' }2 r/ V- L: M
  30.         setTimeout(function() {, j: p  D) C8 O3 A7 ?# C
  31.             var params = funcUrlDel(['offerUrl','landUrl']);
    1 s5 a/ a( p+ k( a$ `1 L& N
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤9 a. n; O/ F) `9 Z( @+ d
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);
    * A6 z) {5 A( n0 H+ p& g, [
  34.         }, 300);: F- z9 S3 a1 S  \) e9 F
  35.     }else{
复制代码
" \/ C% l! J' T  }# s+ e$ ~

5 X9 L6 A5 T+ s
" R8 K8 ^7 t. D7 Z只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。
# \$ i% h. }# W0 O
0 }" _1 z2 z  @  H. ~5 q8 H4 z! i3 K, `" R8 Y" y  _

) {/ ~( d# X0 D7 m: w, i  W9 S8 a# x( \7 L4 N
1 M( Z& G( X- e; {: U

0 E* J7 ~7 g  H# J( s
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1632

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
27175

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的, z( m$ |  C. m+ }4 d9 R! F& C

# _* O( Q9 J( P# n1 \! q1 l但是对于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  V  A) f/ k. D% K4 g' R% a, f1 i
想法是好的
+ _9 b: I: _( p6 g2 n& J4 X# Z. O: J# h/ U
但是对于tracking来说,多一层跳转,一般会多一层流量损失
/ y1 h) F% m$ O
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55
1 K1 D; z: P3 k; g( s想法是好的
+ y& c( d- ~. l! b& P
- t6 I; e7 i* {% [0 D8 L但是对于tracking来说,多一层跳转,一般会多一层流量损失
0 n1 ^7 d. y" D; x" n0 F1 F
经过测试,直接用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
9 V$ |0 j0 L3 K$ \5 \额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...

3 H: @$ z- O6 Y, R/ \% v1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。& E4 o  x1 [: C2 q
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。4 I& u- Z4 R  n! T
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>
3 P' B# q7 J5 n
! e  l, r$ N$ Y- K9 F4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

864

广告币

999

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-16 20:50 , Processed in 0.048298 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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