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%,国内持牌机构
查看: 19275|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
PTMLink
本帖最后由 yang。 于 2021-7-15 23:15 编辑 , m5 o0 n5 {: H0 Q# m9 v  G

  T; ?# ]2 W8 b3 v2 ?在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。7 [- \; g5 A- i1 [
但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。) g% K* e+ v6 @' [/ `7 g

( w3 b, j! @, X5 J另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
7 j; R' z- {: [  Q
" `# T. B. K1 p具体做法是:
+ l" |7 w9 g1 y: H# d, N! m+ X2 g: W$ k) N+ F% W
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。9 E7 n  M/ }  d
假设前置页面的访问路径为 http://www.xxx.com/
4 ]4 T& M, d5 ]+ a0 x2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  + ~1 t1 _; ]# }! N$ U
http://www.xxx.com/iphone/02/index.html( ~0 a; ?$ |1 M, ^/ o  K$ A0 {4 v
那么我们在追踪器中设置的LP访问路径为8 c; L* c  i# o
http://www.xxx.com/?offerUrl=iphone&landUrl=01* V% |) X+ b; x% c$ K
http://www.xxx.com/?offerUrl=iphone&landUrl=02( h  H; B: G6 H5 N3 d
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理5 j; ~/ X, ~9 a

$ ?0 m  s" k; F  g这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。! P; U2 D  z( V, k
: E' [3 q" }& n
) V8 Y5 ^2 k( ^$ x
2.前置页面内容如下# E' |$ D3 b$ P8 C. }% T3 j
  1. <!DOCTYPE html>* B+ @* P+ f4 r& {+ J
  2. <html lang="en">
    8 A/ T/ n6 [: a7 G7 u
  3. <head>
    ! Q  N+ X5 b# `9 K
  4.     <meta charset="UTF-8">( a7 J$ {- |# w
  5.     <title>Loading</title>
    . C5 v+ x) O% A& v( L
  6. </head>. {* ?' H3 p" t$ g0 H1 `
  7. <body>! T2 `: Y% W. ]  U7 X" k
  8. Loading...& J! `- p1 g4 u
  9. </body>" n- o0 U( l2 U" e' _8 \8 H5 c

  10. ; M% s3 ^+ Y. B, U
  11. <script>) R0 v  @* `+ K: s. k0 W2 K
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成
    " @5 w9 I6 @& |/ }
  13.     //iphone0 [1 K+ s, [; |+ a! U) a0 m
  14.         //01                     http://xxx/iphone/01/index.html
    , W+ r# ?/ l+ y  f
  15.         //02                     http://xxx/iphone/02/index.html
    . @+ b8 |( o6 _% f5 `4 D0 T5 q- o# K* Q
  16.         //以此类推9 y* {0 K4 e, c* U0 M+ P! Y7 J8 ?" m
  17.     " J, v. _- w: I$ ~2 D" \
  18.     9 P) h% Q3 N; m# |# u8 n5 x; T# _' M
  19.     ' |5 T7 G2 \. e* j/ U! }/ ]
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html" K# Z2 c  r+ Q
  21.     //那么我们的offerUrl = iphone,landUrl = 01& u3 N* h% F$ m6 a: `
  22.     5 F( r2 T/ Z  V+ L7 [- o
  23.     //从url参数中获取设置好的访问参数: Y" `* F( Z" T6 O: u# ~
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");9 S9 j7 q+ C  [2 W, F
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");0 P9 s5 w+ i" j  W
  26.     , w$ z+ A* R% J4 ]
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径2 R6 U7 J5 l+ Z) V7 k* T
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);* P" L3 d: _: |# k% D  |
  29.     if(b){
    # J) i# n' T2 _4 y9 s' u
  30.         setTimeout(function() {/ _! u0 B0 o7 G3 a) l
  31.             var params = funcUrlDel(['offerUrl','landUrl']);) \- Y$ O* m' b% x
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
    / ?# C7 k1 H3 i
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);# i  r: L3 p" I, O" d  k7 d/ M* O
  34.         }, 300);
    3 @; P5 g- H2 J' P
  35.     }else{
复制代码

9 K/ |) y) M2 s0 Y, i4 P5 X& ~6 E5 w, k/ [9 q

& q3 s" U& ^# {; e只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。" \% F) {  B& _4 A& x& }9 _. E
6 o1 W) k7 B. Z' E* W
$ F3 j- U+ j! Q. [
! m; ]' Y2 ^0 h0 ?
2 Y) U0 a* F; [$ \9 b$ y
9 `, b+ @2 h+ `- n& X% U

, b$ K  s6 ^$ n2 j8 {
相关帖子
回复

使用道具 举报

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 | 显示全部楼层
想法是好的
* p% q2 \6 s8 h% H% ^9 s. @
2 y; Z5 D, y- n0 i- w# m* o0 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. @) u  g0 U! A2 o. q
想法是好的
2 u8 [4 Z+ j2 {, E$ c
3 \( r" T6 U; E" o0 c但是对于tracking来说,多一层跳转,一般会多一层流量损失

1 {  Y/ O4 ]/ W! R- i* z请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55
9 N0 u2 d  g' p想法是好的
) d! ?, R2 s- L4 q( d0 v
  e0 k) Z0 U0 f4 v' J2 n! F( I但是对于tracking来说,多一层跳转,一般会多一层流量损失
# |6 _+ Y, w' x( X
经过测试,直接用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:066 _: F1 b% b/ z- z. j
额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...
# I0 z$ l. Z, L& O, K
1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。# x) Y, o7 h: y4 h: ]
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。% e7 K3 {1 u9 A' {0 {' f5 b0 s
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>% m* T" y( w$ ?* B5 _

3 M3 c' `5 ]; [7 s" a4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

844

广告币

997

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-10 10:01 , Processed in 0.051203 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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