ubuntu环境下使用mitmproxy代理服务器

在网上看了很多参考,介绍的很多都是废话,很多答案都是一样的。

我最近是在用selenium工具来爬取猫眼的电影数据,因为猫眼有文字加密和美团验证,一般的爬取可能容易被检测。所以我使用selenium工具来模拟人使用浏览器的过程,同时爬取数据。但是这样还是没猫眼检测出来使用了selenium工具,所以我再使用mitmproxy代理,来拦截修改response。

下载安装mitmproxy(使用清华的源安装更快点)

sudo pip3 install mitmproxy -i https://pypi.tuna.tsinghua.edu.cn/simple

安装好之后,还需要配置代理服务器,让电脑的流量都经过这个代理服务器。因为我是ubuntu18.04系统,与windows配置不同。安装好之后可以打开终端输入 mitmdump --version ,检查是否安装成功。如下图

配置步骤

1,打开终端,输入如下命令,显示如下图。此时这个代理服务器运行,并监听默认的8080端口。当然你也可以修改端口。此时打开浏览器流量走的仍不是这个代理服务器,还需要去电脑设置里去设置一下。

mitmdump
mitmdump -p PORT(端口号)

2,打开“设置”--->选择“网络”--->点击“网络代理”--->选择“手动”。如下图,因为这个代理服务器默认端口是8080,所以我下面设置的和默认一直,当然你也可以修改端口。

ubuntu环境下使用mitmproxy代理服务器_第1张图片

3,此时配置已经完成,但打开浏览器会发现出现不信任服务器的警告。对于Firefox浏览器,可以直接地址栏输入http://mitm.it

,选取other选项,安装信任证书。类似于下图(此图我选择苹果手机的,你应该点击other)

ubuntu环境下使用mitmproxy代理服务器_第2张图片

4,对于chrome浏览器,稍复杂一步。我使用Firefox的方法未成功。故用手动的方法。我们第一步运行了mitmdump命令,会在文件夹的更目录生成一个 .mitmproxy的文件夹,里面有五个文件,如下图。

ubuntu环境下使用mitmproxy代理服务器_第3张图片

打开chrome浏览器,点击“设置”-->点击“高级”-->点击“隐私设置和安全性”-->选择“管理证书”-->选择“授权中心”-->“导入”,然后选择上图所示的 .pem格式的文件。

ubuntu环境下使用mitmproxy代理服务器_第4张图片

此时Firefox和chrome浏览器都安装好了信任证书,网络流量也都经代理服务器,可进行下一步工作了。

你可能感兴趣的:(朝花夕拾)