AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Binom
 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G需要代理IP?⚡️Proxysites.ai⚡️指纹浏览器,就用AdsPower
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
DuoPlus专注打造跨境电商云手机E.PN 虚拟卡BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
MediaGo+Taboola+Ob开户百度国际MediaGo⚡️让产品狂奔全球百度国际,高点击转化,快速放量百度国际MediaGo,独家原生流量
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理全球虚拟卡, 支持U充值Facebook 批量上广告
尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)
⚡️个人户,bm户不限额,账单户一手BM分享户不限额9Proxy ⚡️ $0.04/IP, 无限带宽 IPCola原生住宅IP⚡️$2.1/条双ISP
FB二三解0.1元一个虚拟卡|PTM星际卡FB专用虚拟卡Google、Bing官方总代  联盟流量开户
FB账号资源/稳定靠谱/运行5年啦FB开户代投/三不限/白名单fb耐用号0.01一个fb账号官方合作商
FB资源,账单户,分享户,国内一手FB企业户BM户账单户源头广告位出租 
查看: 18198|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
本帖最后由 yang。 于 2021-7-15 23:15 编辑
  Q# s. O3 W1 U' d$ U* K
4 z3 q2 e/ g" s. z' J9 K在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。
/ g& G1 k7 o1 l5 H但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。
/ T9 A; k7 f$ K& }1 ?( v$ Q: U* }
  R8 G* e  m0 C5 }. H; ~. v另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。
( m; Y& I5 h8 Y! q( O: c! I6 n8 J. }
具体做法是:
9 c$ T( E) H* F, w
8 Y+ \" Y3 P" H! k0 R# k# W$ X0 [1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。" J( ^! |  ]: B
假设前置页面的访问路径为 http://www.xxx.com/
$ _( k8 E4 U1 }5 ~2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  5 o; O0 ~0 `+ a
http://www.xxx.com/iphone/02/index.html2 K; N' G3 x# F- L, I5 H3 S
那么我们在追踪器中设置的LP访问路径为
( e9 J; p& E5 s- z2 B  Jhttp://www.xxx.com/?offerUrl=iphone&landUrl=01. ~: C, a' _' A9 D4 Y( j
http://www.xxx.com/?offerUrl=iphone&landUrl=020 B2 C( g, C% L, m6 T5 t8 r: t
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理" v; R, m' L  _* S! \9 _: M- p* ^+ S5 W
: F5 l1 Y; I$ Z: ]
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。
- N0 J# K" h' \2 t, g; x% i1 {. V" Q) n/ N
9 b2 c9 D- ^- ~# w$ q% u1 T
2.前置页面内容如下1 I0 W3 ~4 h4 R& ~- X
  1. <!DOCTYPE html>
    8 k1 ?: [! I8 N5 ?' y
  2. <html lang="en">
    , ~1 I( B; |# e
  3. <head>- g2 V, v% P9 B5 u
  4.     <meta charset="UTF-8"># M# O& b- U( l6 F+ ?- _
  5.     <title>Loading</title>$ S8 E! c# @1 ]+ h. ?
  6. </head>4 q$ S: D, ^* O3 B  Y6 x5 M
  7. <body>
    6 y" L. `/ L9 [  r% u3 s
  8. Loading...
    $ ^& J4 ?6 c4 @$ e4 E- U* W- }
  9. </body>
    2 p0 _# ]- s$ S+ e
  10. 9 l2 ?( @+ f1 s' H
  11. <script>
    + X' i" d: b2 ^6 H) @6 @7 W2 w
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成
    * o% ]- O. G4 |3 m! |( i
  13.     //iphone, v3 j3 |4 k) p3 t/ l9 J1 o/ {
  14.         //01                     http://xxx/iphone/01/index.html
    0 t! O1 |# ~/ b& g7 [: T
  15.         //02                     http://xxx/iphone/02/index.html1 c* p& d% o  Z1 P
  16.         //以此类推" o5 }8 K$ a* e
  17.    
    : e( }$ _" ?4 Z' H+ x% g
  18.     1 c( Y/ S# j+ y; S% [7 }) p% z
  19.    
    * k: F* B) h6 x4 L! o
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    0 R* l/ d5 ?5 W' s
  21.     //那么我们的offerUrl = iphone,landUrl = 01
    % T0 y1 a( T' G+ O- w
  22.     ' N+ {* M# N/ O/ J5 x. A  e, `7 @
  23.     //从url参数中获取设置好的访问参数- |. w7 M) f9 T4 p+ R/ `+ n/ ^
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    . N( ]8 N) f$ ^" N7 c0 ]
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");, v- H8 b& B- i  q: Q1 a
  26.     9 k5 Y) Y( Q( M( p7 r
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径$ N* x) i& ~# B3 [6 ^: m# J& J
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);9 T; V/ e7 o" f; e: K/ l3 K
  29.     if(b){
    % Z( M2 d$ K0 o  K" e. z
  30.         setTimeout(function() {7 i% l! u  M& J2 p; Q7 _0 N2 t( a
  31.             var params = funcUrlDel(['offerUrl','landUrl']);3 K6 X* D3 Y' M- s& ?& A
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
    - w9 a8 C: R; U2 k" \
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);8 }5 d1 ~- I2 {1 Q1 j$ \
  34.         }, 300);" ]9 v1 U; W$ R. }& p- k
  35.     }else{
复制代码

8 e/ K+ p- P' [) n' q% s4 x; K: k3 f6 ]) h/ t
6 E1 I( v2 F8 x2 g+ y) q
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。! B: `( K/ D) ~3 p( ^* O

# ~3 R  x% E# O4 t$ P* ~$ y* B' Y* [* }! x) ^

+ m9 r0 v$ X' L; T# P3 o( J: |. O3 s+ p

6 W7 w* Z; Y' I: E; O: e
% R* [3 a2 K" v
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1624

主题

2万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
29862

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
5 B  ^, [" P1 A3 m& {
  a: C0 U! ]. }: _! H. Y9 Z% M但是对于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:558 ]" T# i5 [) f/ x
想法是好的3 H# s( Q! B2 Z, K) L% b

: |% Y! T/ x6 B; p, w9 \6 r0 x但是对于tracking来说,多一层跳转,一般会多一层流量损失
  {' g" r  L7 ]
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55( A" M$ j+ c, E3 l
想法是好的2 N5 a6 _# H3 A! n2 S

/ {8 D4 z! \) b$ k3 v1 F但是对于tracking来说,多一层跳转,一般会多一层流量损失
  J* V$ E# I9 f# z  j
经过测试,直接用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 z+ G6 J3 g% `9 j额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...

1 \0 E* _7 j- n! e  o# t1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。
7 s2 w3 }" M/ {) j* I+ n2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。4 E/ U; u2 I1 ?4 Z$ y- Q
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>0 b; r. |/ j+ G$ d5 x
. Q% w& Z; n. |$ g' Z; F7 y
4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

775

广告币

927

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-10 23:59 , Processed in 0.048271 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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