访问某团外卖,查看下一页商家信息,正常浏览器可以打开, selenium打开就404,

分析请求参数,生成方法最后定位到 rohr*.js  而且有判断selenium特征

抓耳挠腮搞了半天没把这个js弄明白 ,只能用中间代理啦,

保存rohr*.js到本地把关键词替换掉

上中间人代理 mitmproxy , 输出替换成本地js

def response(flow:mitmproxy.http.HTTPFlow):
try:
url = flow.request.url
if url == "http://s0.meituan.net/mx/rohr/rohr.min.js":
global local_js
if local_js is None:
with open("rohr.local.js", "rb") as js:
local_js = js.read()
flow.response.content = local_js
except:
return

我去去去

selenium在运行的时候会暴露的Javascript特征字符串:

window.navigator.webdriver
webdriver
__driver_evaluate
__webdriver_evaluate
__selenium_evaluate
__fxdriver_evaluate
__driver_unwrapped
__webdriver_unwrapped
__selenium_unwrapped
__fxdriver_unwrapped
_Selenium_IDE_Recorder
_selenium
calledSelenium
_WEBDRIVER_ELEM_CACHE
ChromeDriverw
driver-evaluate
webdriver-evaluate
selenium-evaluate
webdriverCommand
webdriver-evaluate-response
__webdriverFunc
__webdriver_script_fn
__$webdriverAsyncExecutor
__lastWatirAlert
__lastWatirConfirm
__lastWatirPrompt
$chrome_asyncScriptInfo
$cdc_asdjflasutopfhvcZLmcfl_

遇到屏蔽selenium的站点如何突破的更多相关文章

  1. selenium反爬机制

    使用selenium模拟浏览器进行数据抓取无疑是当下最通用的数据采集方案,它通吃各种数据加载方式,能够绕过客户JS加密,绕过爬虫检测,绕过签名机制.它的应用,使得许多网站的反采集策略形同虚设.由于se ...

  2. 使用 PHPUnit 和 Selenium 进行测试

    适用于 PHP 的 NetBeans IDE 支持 PHPUnit 自动测试.通过 PHPUnit,NetBeans IDE 可为 PHP 提供代码覆盖率,这与 IDE 为 Python 提供的代码覆 ...

  3. Apache模块 mod_proxy 转自http://www.php100.com/manual/apache2/mod/mod_proxy.html

    Apache模块 mod_proxy 说明 提供HTTP/1.1的代理/网关功能支持 状态 扩展(E) 模块名 proxy_module 源文件 mod_proxy.c 概述 警告 在您没有对服务器采 ...

  4. Apache模块 mod_proxy

    转: Apache模块 mod_proxy 转自http://www.php100.com/manual/apache2/mod/mod_proxy.html Apache模块 mod_proxy 说 ...

  5. 【转载】 996,谁的ICU?

    原文地址: https://baijiahao.baidu.com/s?id=1629803937354992525&wfr=spider&for=pc --------------- ...

  6. Nginx 防止SQL注入、XSS攻击的实践配置方法

    下班的时候,发现博客访问缓慢,甚至出现504错误,通过 top -i 命令查看服务器负载发现负载数值飙升到3.2之多了,并且持续时间越来越频繁直至持续升高的趋势,还以为是被攻击了,对来访IP进行了阈值 ...

  7. [IIS] 测试的产品登陆之后有个引用外部站点js的请求半天都无法返回,导致网页一直在打转,Selenium的driver也无法对页面进行下一步的操作

    测试的产品登陆之后有个引用外部站点js的请求半天都无法返回: https://cdn.heapanalytics.com/js/heap-3497400264.js 这个js如果是在美国的机器上就可以 ...

  8. index of rmvb mp3 rm突破站点入口下载

    首先打开Google,在关键词输入框中输入"index of/"inurl:lib(双引號为英文状态下) ,选择“搜索中文简体网页”选项,回车搜索,得到了一些网页,不要以为这是一些 ...

  9. 自拉ADSL网线搭建站点server,解决动态IP、无公网IP、80port被封、HTTP被屏蔽的方法

    自己的server搭建站点应用,提供站点服务,能够不用备案,但可能会面对网络限制问题,如动态公网IP.无公网IP.80port被封.HTTP被屏蔽,这些复杂网络情况. 依据本地网络环境,能够针对不同的 ...

随机推荐

  1. 139-PHP static后期静态绑定(二)

    <?php class test{ //创建test类 public function __construct(){ static::getinfo(); //后期静态绑定 } public s ...

  2. 压测工具siege和wrk

    siege压测工具 安装: wget http://download.joedog.org/siege/siege-3.0.8.tar.gz cd siege-3.0.8 ./configure ma ...

  3. Python MySQL Order By

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  4. hdu4632 Palindrome subsequence 回文子序列个数 区间dp

    Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65535 K (Java/ ...

  5. Django实现websocket

    django实现websocket大致上有两种方式,一种channels,一种是dwebsocket.channels依赖于redis,twisted等 一 dwebsocket 1 Django实现 ...

  6. 基础语法-循环结构do...while

    基础语法-循环结构do...while 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.do...while语句格式 do{ 执行语句; }while(条件表达式); 温馨提示: ...

  7. c++ opencv 动态内存

    1.CvMemStorage定义动态内存存储器   内存存储器是一个用来存储诸如序列.轮廓.图形和子划分等动态增长数据结构的底层结构 2.示例 CvMemStorage *mems = cvCreat ...

  8. CSS - 实现荧光边框

    1,index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  9. Linux 正则表达式与文本处理器 三剑客

    Linux 正则表达式与文本处理器 三剑客 一.正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在linu ...

  10. Day 2:线程与进程系列问题(二)

    补充: 线程的创建方式二: 1.自定义一个实现Runnable接口的类 2.实现Runnable接口中的run方法把自定义线程的任务写在run方法中 3.创建实现Runnable接口的对象 4.创建T ...