如何突破网站对Selenium的屏蔽

  |   0 评论   |   0 浏览

使用 selenium 模拟浏览器进行数据抓取无疑是当下最通用的数据采集方案,它通吃各种数据加载方式,能够绕过客户 JS 加密,绕过爬虫检测,绕过签名机制。它的应用,使得许多网站的反采集策略形同虚设。由于 selenium 不会在 HTTP 请求数据中留下指纹,因此无法被网站直接识别和拦截。

timgjpg

这是不是就意味着 selenium 真的就无法被网站屏蔽了呢?非也。selenium 在运行的时候会暴露出一些预定义的 JavaScript 变量(特征字符串),例如"window.navigator.webdriver",在非 selenium 环境下其值为 undefined,而在 selenium 环境下,其值为 true(如下图所示为 selenium 驱动下 Chrome 控制台打印出的值)。

Injecting Javascript In HTML Content Using Mitmproxy

  |   0 评论   |   0 浏览

An interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed. So basically it gives the proxy administartor the power to modify any traffic that goes through the proxy. You can play with HTML content, inject elements, get header data, modify headers, dns spoofing, traffic filteration, redirection and a lot more things you can do with mitmproxy.
unnamedjpg

在Java中调用Python 有更新!

  |   0 评论   |   0 浏览

在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢。但有时候确实要面对这个问题,恰好我在项目中就遇到了这个问题,需要在 Java 程序中调用 Python 程序。关于在 Java 中调用 Python 程序的实现,根据不同的用途可以使用多种不同的方法,在这里就将在 Java 中调用 Python 程序的方式做一个总结。

方法一、直接通过 Runtime 进行调用,方法二、通过 Jython 调用。