当前位置: 首页 > news >正文

mitmproxy 爬虫,下载自己的博客图片

1. 起因, 目的:

  • 打算把 mitmproxy 作为爬虫的主力工具,简单,强大,简直就是一辆会飞的坦克,还要啥自行车。
  • 打算先写10个爬虫,即 ,10 小例子 ,找找手感,后面再搭建大一点的系统。

2. 先看效果

这里插入图片

3. 过程:

分2步走

1. 开启 mitmweb

import os
import requests
from mitmproxy import http"""
# 帮我写个脚本把图片下载下来
mitmweb -s get_imgs.py 
# 当我运行这个命令的时候,
# 可以把图片下载到当前目录下 , imgs/ 目录下
"""def response(flow: http.HTTPFlow) -> None:# 检查 imgs 文件夹是否存在,如果不存在则创建它if not os.path.exists("imgs"):os.makedirs("imgs")# 判断响应的内容类型是否为图片if flow.response.headers.get("Content-Type", "").startswith("image/"):# 获取图片的文件名filename = flow.request.url.split("/")[-1]# 确保文件名不为空,防止异常if filename:path = os.path.join("imgs", filename)with open(path, "wb") as f:f.write(flow.response.content)

mitmweb -s get_imgs.py

2. 第二部分,点击自动滚动按钮。
  • 使用我自己写的一个浏览器插件,我前面的博客中提到过,读者可以找找看。
    在这里插入图片描述

剩下的就是,坐等图片飞到本地文件夹。

3. 删掉一些小图片,这个很简单

import osdef delete_images(folder, kb_limit=200):total = os.listdir(folder)print(f"删除之前,图片数量是: {len(total)}")for img in os.listdir(folder):img_file = os.path.join(folder, img)# print(img_file)bytes_size = os.path.getsize(img_file)kb_size = int(bytes_size / 1024)if kb_size < kb_limit:os.remove(img_file)after = os.listdir(folder)print(f"删除之后,图片数量是: {len(after)}")if __name__ == '__main__':# 在这里传入文件夹的名称folder_name = r"  C:\Users\Administrator\Work\mitm\imgs  ".strip()delete_images(folder_name, kb_limit=200)

4. 结论 + todo

  • 对于这个 浏览器插件, 我需要增加几个按钮,即,调整页面滚动的速度,1倍,2倍,5倍。

希望对大家有帮助。

相关文章:

  • 个人电脑部署本地大模型+UI
  • 湖北理元理律师事务所:企业债务重组的风险控制方法论
  • 11.RV1126-ROCKX项目 API和人脸检测画框
  • CMake 为 Debug 版本的库或可执行文件添加 d 后缀
  • DRV8833 电机控制芯片
  • 东芝Toshiba DP-4528AG打印机信息
  • 高精度加减乘除
  • 从零开始的python学习(七)P95+P96+P97+P98+P99+P100+P101
  • 软件测试:质量保障的基石与未来趋势
  • Linux 初始化与服务管理全解析:rc.d、systemctl与service对比
  • Python | Windows11通过离线方式安装pyserial
  • 缓解骨质疏松 —— 补钙和补维 D
  • 最长回文子串问题-Manacher算法深度解析
  • 深入浅出Java ParallelStream:高效并行利器还是隐藏的陷阱?
  • 【多线程初阶】阻塞队列 生产者消费者模型
  • 测试设计技术全解析:黑盒与白盒测试的七种武器与覆盖率指标
  • 数据库优化秘籍:解锁性能提升的 “潘多拉魔盒”
  • 数据治理在制造业的实践案例
  • 如何利用 Redis 实现跨多个无状态服务实例的会话共享?
  • Java下载文件(特殊字符编码处理)
  • 北京网站建设哪个好/2024年瘟疫大爆发
  • 企业公司网站建设方案/山东进一步优化
  • 资质做网站需要用到什么/如何进行网站性能优化?
  • 给公司做网站需要什么/广告词
  • 品牌策划案例范文/河南seo和网络推广
  • 低价网站建设浩森宇特/网站软文推广网站