一,安装python

官网下载地址:https://www.python.org/downloads/windows/

我下载的是最新的:

自定义安装到:F:\software\python3.7.2

配置环境变量,随便是用户path或者系统path,添加一个,输入:F:\software\python3.7.2

完成标志,cmd进一个文件下,输入:python   ,出现执行环境就ok。

二,安装pymysql

可以参见博客:https://blog.csdn.net/mingyuli/article/details/79734393

步骤一:在网址:https://github.com/PyMySQL/PyMySQL  下载zip包,PyMySQL-master.zip,解压到F:\software\python3.7.2\Scripts

Scripts目录下,

步骤二:输入命令:pip install pymysql

提示:Successfully installed pymysql-0.9.3  则成功了。

随机一个文件,cmd进去,输入:python 进入执行环境,再输入:import pymysql  没报错,说明pymysql安装成功。

三,下载mitmproxy

下载mitmproxy-1.0.2-windows.zip   这个zip包,将里面的文件:mitmdump.exe  和   mitmweb.exe 放到F:\software\python3.7.2\Lib\site-packages

即python的lib的site-packages文件夹下,将test.py也放到此目录下。因为放这里,才能在脚本里找到pymysql模块。别的地方运行 mitmdump -s test.py 会报错,import pymysql

的pymysql找不到。

四,双击site-packages文件夹下的mitmweb.exe,会出现一个网页,地址是:http://127.0.0.1:8081/#/flows    。

五,手机连代理,你手机输入你电脑的ip,端口8080,安装证书,在你手机浏览器输入网址:http://mitm.it/

会出现,四个大图标,分别是:Apple,Windows,Android,Other,然后我选择Apple,允许,安装,出现,已验证。完成。

六,在site-packages文件下cmd进入,输入:mitmdump -s test.py

完成。在黑窗口能看见你代理的url,状态等抓的信息。

七 test.py抓包脚本

import json
import pymysql
import time
from urllib.parse import urlparse
import json def save_to_mysql(data):
res=urlparse(data.request.url)
method = if data.request.method=='GET' else
ajaxdata = json.dumps(data.response.text)
#url=res.path+'?'+res.params+res.query
yuming=res.scheme+'://'+res.netloc
#除去域名以外的完整url
url=data.request.url.split(yuming)[]
#这是几个壳的生产域名
if yuming in '域名1,域名2,域名3,域名4,域名5,域名6':
try:
conn = pymysql.connect(host='a.b.c.d', port=, user='aaaa', password='aaaa', db='aaaa', charset="utf8")
#获取会话指针
cursor = conn.cursor()
insert_sql = "INSERT INTO interf(url,res,method) VALUES(%s,%s,%s)"
print('',url)
#执行SQL语句
cursor.execute(insert_sql, (url,ajaxdata,method)) #提交
conn.commit() #关闭
cursor.close()
conn.close()
except Exception as e:
print('wrong' + e) def response(flow):
save_to_mysql(flow)

这段代码的意思是:抓取你手机正在访问的信息,如果域名在这个域名范围中,则将这个url的数据存到MySql中。interf表三个字段:url,res,method

八 编写一个node服务,查询出所有url

sql语句:select * from interf

九 pm2部署

十轮询  写一个静态页面,执行node接口查出所有url,然后每隔5秒轮询一次接口,成功失败,在页面进行显示。

python学习第一次的更多相关文章

  1. python学习第一次笔记

    python第一次学习记录 python是什么编程语言 变成语言主要从以下几个角度进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 1.1编译型与解释性 编译型:一次性将 ...

  2. 1.python学习计划

    1.python学习 第一次使用博客园作为学习记录日志,希望能在这里记录自己的学习点滴. 慢慢去挖掘它的强大功能吧

  3. 我和Python的第一次亲密接触 - 零基础入门学习Python001

    我和Python的第一次亲密接触 让编程改变世界 Change the world by program 小甲鱼经常说,学习一门编程语言就是要深入其中,要把编程语言想象为你的女朋友你的情人,这样你学习 ...

  4. python学习心得第五章

    python学习心得第五章 1.冒泡排序: 冒泡是一种基础的算法,通过这算法可以将一堆值进行有效的排列,可以是从大到小,可以从小到大,条件是任意给出的. 冒泡的原理: 将需要比较的数(n个)有序的两个 ...

  5. python学习心得第三章

    python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(o ...

  6. 记录Python学习中的几个小问题

    记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...

  7. 180分钟的python学习之旅

    最近在很多地方都可以看到Python的身影,尤其在人工智能等科学领域,其丰富的科学计算等方面类库无比强大.很多身边的哥们也提到Python非常的简洁方便,比如用Django搭建一个见得网站只需要半天时 ...

  8. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  9. python学习笔记--Django入门0 安装dangjo

    经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...

随机推荐

  1. nginx中实现把所有http的请求都重定向到https

    在网站启用https之后,我们可能会有一个需求,就是将所有的http的请求自动地重定向到https, 如果前端是使用的nginx来实现的https,我们可以这样配置nginx的301重定向: serv ...

  2. centos7搭建ELK开源实时日志分析系统

    Elasticsearch 是个开源分布式搜索引擎它的特点有分布式零配置自动发现索引自动分片索引副本机制 restful 风格接口多数据源自动搜索负载等. Logstash 是一个完全开源的工具他可以 ...

  3. CentOS系统下docker的安装与卸载

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...

  4. Android 调用系统相机拍照,生命周期重走OnCreate,导致无数据的解决办法

    extends:http://blog.csdn.net/b275518834/article/details/42347903 BUG具体体现为 : (1) 摄像头拍照后图片数据不一定能返回 ; o ...

  5. [分布式系统学习]阅读笔记 Distributed systems for fun and profit 之一 基本概念

    因为工作的原因,最近打算看一些分布式学习的资料.其中这个http://book.mixu.net/distsys/就是一篇非常适合分布式入门的介绍. 这个短小的材料有下面5个小的章节,图文并茂,也没有 ...

  6. openstack 部署(Q版)-----keystone认证服务安装配置

    一.新建数据库及用户 CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' ID ...

  7. Python 重定向获取真实url

    通常的返回url: http_headers = { 'Accept': '*/*','Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (W ...

  8. Java-06-动手动脑

    1.为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来? 因为子类继承于父类,子类中有父类的对象,父类的构造方法初始化后,子类才能运行自己的构造方法 不能放过来,继 ...

  9. 视觉slam十四讲开源库安装教程

    目录 前言 1.Eigen线性代数库的安装 2.Sophus李代数库的安装 3.OpenCV计算机视觉库的安装 4.PCL点云库的安装 5.Ceres非线性优化库的安装 6.G2O图优化库的安装 7. ...

  10. 扩展KMP算法小记

    参考来自<拓展kmp算法总结>:http://blog.csdn.net/dyx404514/article/details/41831947 扩展KMP解决的问题: 定义母串S和子串T, ...