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资源,账单户,分享户,国内一手
TK加白户/二解户/FB海外户/GG老户海外CL企业户源头最大欧洲Nutra网盟BA找量 FB高权重耐操个号⚡️稳定过审
GG,FB,TK, 欧美源头, 欢迎合作❤️FB企业户海外户,授信户,TK加白户联盟收款/海外资金下发/服贸结汇域名防红⚠斗篷工具/可试用3天
广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构 
查看: 19349|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
Binom_AdvertCN
本帖最后由 yang。 于 2021-7-15 23:15 编辑
8 k2 i* v% Y/ H0 \& d# k/ C' X* _& p( |- ^( p- _/ H, n6 l, a
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。9 T( k" ?: m7 R- o" M! ?
但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。- T; t- _1 j. z) Q% b2 D

, C5 A% |* L+ o* m1 [$ p另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。; k2 A- j* d( |% Y; s3 \5 [
% D# P& m  K( R- F
具体做法是:6 _! s" z8 u, {$ z
3 s+ P2 `  x( Y) G. b/ A# {& m
1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。) N" h% J+ n* K2 @6 E$ q" _5 w& b
假设前置页面的访问路径为 http://www.xxx.com/+ p& O1 w. a4 n5 l& ~
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  # v' _6 A& x; R( `4 W! r1 Z
http://www.xxx.com/iphone/02/index.html
$ O1 X+ ]% g0 o7 [3 ]那么我们在追踪器中设置的LP访问路径为7 z  K( u- z; T% \. c$ D6 K5 T
http://www.xxx.com/?offerUrl=iphone&landUrl=01
8 S2 b. ]: H" M! n3 j+ ghttp://www.xxx.com/?offerUrl=iphone&landUrl=029 o# ]9 X! m7 b! G
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理* w( g8 q' e1 z1 z
/ T; U8 n9 y1 H) Z# f
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。6 Q; A$ K0 O( r( b  z8 J9 \" C

& z" p, T0 S9 E" f/ x1 J$ i2 X; O; _, z2 C1 _1 U* g9 ?9 L( p
2.前置页面内容如下9 J# @; s& s, u, N* O
  1. <!DOCTYPE html>
    3 g$ c* @4 @( C# F1 s6 H
  2. <html lang="en">
    / G, Y" S' l1 d: H  H7 @
  3. <head>% P6 {& u: a8 R( i  @# g5 O
  4.     <meta charset="UTF-8">2 {' L. S. T3 M* e/ p
  5.     <title>Loading</title>
    3 }+ s( P% S1 j, ~9 ^; c2 L$ p0 g- D
  6. </head>
      v6 G* y# m" u5 w2 I# ^
  7. <body>3 _! J" s2 j: ?9 N3 x
  8. Loading...) E- m3 a; p- J$ @. P! _
  9. </body>% o' R8 {( O- U4 L

  10. , ~% r2 r& Y7 [9 }; R5 n
  11. <script>
    / M9 ^' K3 |# d( x1 z0 d& q$ s
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成* j# Y/ [. J9 z" q  u- F9 \! a9 Z# J
  13.     //iphone. m1 u$ U2 h) U# T0 R
  14.         //01                     http://xxx/iphone/01/index.html
    7 B& Q$ X8 C& b
  15.         //02                     http://xxx/iphone/02/index.html
      G7 n  f6 S7 W  Q
  16.         //以此类推
    5 u4 T8 a& R5 g: Q1 t5 p0 ?
  17.     ( Z! ~. S: d4 e1 H* \
  18.    
    - t6 @+ @& C4 {( v9 ^
  19.     & X- H2 |  b) n! E- x& F4 R' t
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    7 B' E# a+ i1 _1 C$ R1 k' l1 o0 W3 w
  21.     //那么我们的offerUrl = iphone,landUrl = 015 y3 ~0 A0 Y" @5 L3 X: n1 L: y
  22.    
    % s! @7 b4 L' j( _
  23.     //从url参数中获取设置好的访问参数& [2 t4 i) O% \3 B; r1 }* A5 N' b% T
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");" \8 q3 z3 |6 `! i* E
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");- @% L8 y1 y( e" F5 o. ]
  26.     8 }" m/ q( z3 V1 n  I
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    - U( i0 m" k' [) |+ \/ f* m
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);
    ( I& Z  Q3 Y! y) ]& ^
  29.     if(b){* D0 W' v6 }# w# _; R
  30.         setTimeout(function() {
      ]6 q: _0 A1 q, z9 \3 M
  31.             var params = funcUrlDel(['offerUrl','landUrl']);* z& k0 g& ^. f  O& ~3 _
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
    " K( u# C2 u) I4 @7 s) k
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);
    % {5 e$ m5 @% ~$ a
  34.         }, 300);
    2 h+ K5 H: h5 ?
  35.     }else{
复制代码
, R, I- s1 H/ n$ B) ?& A) n

3 ?) h8 N0 g% F8 f0 _1 @
5 E: ]/ v3 ]2 t只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。! n6 y: y7 {- Q8 f; E3 y" u
9 w( l6 F9 M3 `7 d4 {) t$ {
3 Z5 E8 l6 c9 J1 ~; A1 s# n* D

  V7 W8 m( M2 p* n$ u2 ?: O
6 g. F% e0 o1 I/ r8 z  i4 R3 A
2 T4 c$ q  x$ Z0 G/ ^9 a# z' Q
( n* y1 g' k$ i7 V; N; M+ `# F
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1663

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
27776

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
# O: k5 n" Z! t7 o) x+ R- i" c5 y0 P# V* _
但是对于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. F1 n( }$ Z: z7 O+ C  N
想法是好的
# u- [  X$ r3 D# ?2 T) G# B. \3 E: s9 j
但是对于tracking来说,多一层跳转,一般会多一层流量损失
( s5 i+ w+ T& M: J$ b. k
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55# w( i0 O6 h# @4 E. ]$ G
想法是好的
/ C0 c, \. x' _& T
1 p# [6 w' r* n  ^" U4 E$ f0 u但是对于tracking来说,多一层跳转,一般会多一层流量损失

5 t- f3 m( ]& P经过测试,直接用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
5 i/ H+ I' z! L+ r1 \! p$ k额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...

9 }+ s* g) t8 o& }6 Z1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。
6 ?5 ~& t: Z# D. h  E8 m/ i2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。3 N0 c1 U5 M6 f6 F: y
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>) K" n( T: c, j- `
$ A5 \' j- \; Q- W
4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

848

广告币

1004

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-27 09:01 , Processed in 0.061695 second(s), 19 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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