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

DrissionPage获取浏览器Network数据包

DrissionPage是什么?

GitHub - g1879/DrissionPage: 基于python的网页自动化工具。既能控制浏览器,也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少。基于python的网页自动化工具。既能控制浏览器,也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少。 - GitHub - g1879/DrissionPage: 基于python的网页自动化工具。既能控制浏览器,也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少。icon-default.png?t=N7T8https://github.com/g1879/DrissionPage

为什么选择DrissionPage而不选用Selenium?https://wtl4it.blog.csdn.net/article/details/135573492?spm=1001.2014.3001.5502icon-default.png?t=N7T8https://wtl4it.blog.csdn.net/article/details/135573492?spm=1001.2014.3001.5502 原理:

我们一般是要拿url和response部分 :

代码部分:

drission_page_init:

[paths]
download_path =
tmp_path =

[chromium_options]
address = 127.0.0.1:9222
browser_path = C:\Users\10501\AppData\Local\Google\Chrome\Application\chrome.exe
arguments = ['--no-default-browser-check', '--disable-suggestions-ui', '--no-first-run', '--disable-infobars', '--disable-popup-blocking']
extensions = []
prefs = {'profile.default_content_settings.popups': 0, 'profile.default_content_setting_values': {'notifications': 2}}
flags = {}
load_mode = normal
user = Default
auto_port = False
system_user_path = False
existing_only = False

[session_options]
headers = {'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8', 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'connection': 'keep-alive', 'accept-charset': 'GB2312,utf-8;q=0.7,*;q=0.7'}

[timeouts]
base = 10
page_load = 30
script = 30

[proxies]
http =
https =

[others]
retry_times = 3
retry_interval = 2
drissionpage_use.py:
# ---encoding:utf-8---
# @Time    : 2024/1/14 07:09
# @Author  : stzz Wang
# @Email   :1050100468@qq.com
# @Site    : 
# @File    : drissionpage_use.py
# @Project : PythonUtils
# @Software: PyCharm
from DrissionPage import ChromiumOptions , SessionOptions , WebPage
def drissionpage_use():
    co = ChromiumOptions(ini_path="./config/drission_page_init")
    so = SessionOptions(ini_path="./config/drission_page_init")

    page = WebPage(chromium_options=co,session_or_options=so)

    page.listen.start()

    page.get("https://baidu.com")

    for _ in range(50):
        response = page.listen.wait()
        print(response.url)


def __run_drissionpage_use__():
    drissionpage_use()


if __name__ == '__main__':
    __run_drissionpage_use__()

 

http://www.dtcms.com/a/7346.html

相关文章:

  • 【C++入门到精通】智能指针 [ C++入门 ]
  • gem5学习(11):将缓存添加到配置脚本中——Adding cache to the configuration script
  • 远程开发之vacode插件Remote - SSH
  • flutter 打包安卓apk 常用配置
  • Python数据结构——列表
  • androidkiller的两种异常情况
  • golang实现rpc方法一:使用net/rpc库【不能跨平台】
  • Java Swing 图书借阅系统 窗体项目 期末课程设计 窗体设计
  • 基本工具配置
  • 线程到底设置数量多少合适的探讨
  • 计算机网络(湖科大)第一章 概述
  • kubectlkubeletrancherhelmkubeadm这几个命令行工具是什么关系?
  • BIO、NIO、AIO 有什么区别?
  • vscode运行Python的两种方法,及无法运行的原因
  • 白嫖aws创建Joplin server服务器
  • C语言之数组与strlen与sizeof区别和应用
  • Poi实现根据word模板导出-图表篇
  • Redis面试题12
  • 开源协议概览
  • 桶排序(Java语言)
  • git修改历史(非最新)提交信息
  • 算法每日一题:字符串中的额外字符 | 动归 | 哈希 | 字符串
  • NUS CS1101S:SICP JavaScript 描述:二、使用数据构建抽象
  • HarmonyOS4.0——ArkUI应用说明
  • 深入了解pnpm:一种高效的包管理工具
  • redis的高可用(主从复制、哨兵、群集)
  • Linux常用命令之tar解压缩文件、uname -a查看系统信息
  • 时间序列数据库选型: influxdb; netdiscover列出docker实例们的ip,docker管理工具lazydocker、scope
  • GPT实战系列-LangChain + ChatGLM3构建天气查询助手
  • Web前端篇——el-timeline+el-scrollbar时间轴数据刷新后自动显示滚动条