js & anti craw & crawler spam
js & anti craw & crawler spam
demo &
X-Sign




, function(t, e, n) {
"use strict";
var r = n(126)
, o = n.n(r)
, i = "WSUDD"
, a = "X"
, s = "/fe_api/";
e.a = {
name: "crawler-spam",
install: function(t, e) {
e.isBrowser && e.http.interceptors.dispatch.use(function(t) {
return t.url.indexOf(s) > -1 && (t.headers["X-Sign"] = function(t, e) {
var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : a
, r = t.url
, u = void 0 === r ? "" : r
, c = t.params
, f = t.paramsSerializer;
return u = u.slice(u.indexOf(s), u.length),
n === a ? "" + n + o()(e(u, c, f) + i) : ""
}(t, e.http.buildURL)),
t
})
}
}
}
- step 1: find
crawler spamjs file name & get json data
js & XHR
- open sources, set break points
js files
- debug, find the logic
step by step, look for the roots(溯源)
- mock / fake, craw datas
blogs
crawler-spam
https://www.xiaohongshu.com/page/hot
https://www.xiaohongshu.com/explore
https://www.edificeautomotive.com/blog/2016/02/26/ghost-and-crawler-spam/
referral exclusion list
https://support.google.com/analytics/answer/2795830?hl=en
Referral exclusions & 推荐排除
hack methods
github
https://github.com/topics/xiaohongshu
https://github.com/lonngxiang/xiaohongshu-spider
https://github.com/vinchu/xiaohongshu-2
https://github.com/No-bb-just-do-it/xiaohongshu
npm
pm formula-static/@xhs/launcher
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
js & anti craw & crawler spam的更多相关文章
- Python爬虫学习之爬美女图片
最近看机器学习挺火的,然后,想要借助业余时间,来学习Python,希望能为来年找一份比较好的工作. 首先,学习得要有动力,动力,从哪里来呢?肯定是从日常需求之中来.我学Python看网上介绍.能通过P ...
- 打包python脚本为exe的坎坷经历, by pyinstaller方法
打包python脚本为exe的坎坷经历, by pyinstaller方法 又应验了那句歌词. 不经历风雨, 怎么见得了彩虹. 安装过程略去不提, 仅提示: pip install pyinstall ...
- 使用Node.js搭建数据爬虫crawler
0. 通用爬虫框架包括: (1) 将爬取url加入队列,并获取指定url的前端资源(crawler爬虫框架主要使用Crawler类进行抓取网页) (2)解析前端资源,获取指定所需字段的值,即获取有价值 ...
- 基于Node.js的爬虫工具 – Node Crawler
Node Crawler的目标是成为最好的node.js爬虫工具,目前已经停止维护. 我们来抓取光合新知博客tech栏目中的文章信息.访问http://dev.guanghe.tv/category/ ...
- cnblogs blogs backup & node.js crawler
cnblogs blogs backup & node.js crawler refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访 ...
- jQuery验证控件jquery.validate.js使用说明
官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...
- jquery.validate.js插件使用
jQuery验证控件jquery.validate.js使用说明+中文API 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-valid ...
- jquery.validate.js表单验证
一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...
- 区分PC端与移动端代码,涵盖C#、JS、JQuery、webconfig
1)C#区分PC端或移动端 using System.Text.RegularExpressions string u = Request.ServerVariables["HTTP_USE ...
随机推荐
- super 多重继承 super() function with multilevel inheritance
Python | super() function with multilevel inheritance - GeeksforGeeks https://www.geeksforgeeks.org/ ...
- Jackson学习
Jackson 是一个能够将java对象序列化为JSON字符串,也能够将JSON字符串反序列化为java对象的框架. 本文的所有内容都可以从 Java JSON Jackson Introductio ...
- Jsp数字格式化
日期格式(2008年5月5日22点00分23秒) <fmt:formatDate value="<%=new Date() %>" pattern="y ...
- 反弹SHELL介绍及原理
如果我们需要到服务器上执行 Shell 命令,但是因为防火墙等原因,无法由客户端主动发起连接的情况,就可以使用反弹 Shell 来满足登陆和操作的需求. 什么是反弹Shell 正常情况下,我们登陆服务 ...
- 项目管理/Bug管理/问题管理—Phabricator
项目管理/Bug管理/问题管理-Phabricator 1.项目管理/Bug管理/问题管理工具 2.Phabricator 3.Docker 方式安装Phabricator 3.1Docker方式安装 ...
- Docker容器内中文乱码
Docker容器内中文乱码 一.通过Dockerfile解决中文乱码问题 方式二: 二.临时解决 方式二: 三.修改jre/lib/fonts下的字体 CSDN:黑猫_:Dockerfile 创建容器 ...
- MySQL常见优化
MySQL常见优化 1.操作符优化 1.1<> 操作符(不等于) 1.2LIKE优化 1.3in,not in,exists与not exists 1.3.1in和exists 2.whe ...
- telnet | ping
ping通常是用来检查网络是否通畅或者网络连接速度的命令. ping www.baidu.com 而telnet是用来探测指定ip是否开放指定端口的. telnet xxx 443 查看443开放没 ...
- 37.Samba 文件共享服务1--配置共享资源
1.Samba 服务程序的主配置文件包括全局配置参数和区域配置参数.全局配置参数用于设置整体的资源共享环境,对里面的每一个独立的共享资源都有效.区域配置参数则用于设置单独的共享资源,且仅对该资源有效. ...
- 13.Linux文件存储系统
1.Linux 系统中的文件存储结构 Linux系统中常见的目录名称以及相应内容 2.系统内核中的udev 设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及 ...