用playwright封装一个处理web网页的爬虫,并隐藏自动化特征,自动处理反爬

更多内容请见《爬虫和逆向教程》 - 专栏介绍和目录

文章目录

下面是一个使用 Playwright 封装的、具备反爬对抗能力的网页爬虫Python函数,返回原始 HTML 内容,并重点隐藏自动化特征,避免被检测为 bot。


一、脚本概述

该封装已在多个中等反爬网站(如电商、新闻站)验证有效,能绕过大多数基于 navigator.webdriverchrome 对象、permissions 等的检测。

1.1 脚本对应反爬措施

  1. 移除 navigator.webdriver 标志
  2. 注入真实 User-Agent 和 Accept-Language
  3. 禁用 chrome 对象中的自动化属性(如 cdc_
  4. 设置合理的 viewport、设备比例、语言
  5. 启用 JavaScript 但模拟人类行为(可选延迟)
  6. 使用非 headless 模式或伪装 headless(推荐后者)

1.2 注意事项

  1. 不要频繁请求:即使隐藏了特征,高频访问

Read more

2026年Midjourney AI 图像生成器使用教程详解

2026年Midjourney AI 图像生成器使用教程详解

Midjourney 是一款领先的 AI 图像生成工具,用户只需输入简单的文本描述(提示词),即可快速生成高质量、富有艺术感的图像。它主要通过 Discord 平台操作,无需本地安装,但需要订阅付费计划。本文将系统介绍 Midjourney 的核心功能、详细使用教程、价格方案以及提升出图效果的实用技巧,适合设计师、内容创作者和 AI 绘画新手阅读。 一、什么是 Midjourney? Midjourney 是一个由独立研究实验室开发的人工智能图像生成程序,能够根据用户输入的文字描述生成数字图像。它通过深度学习模型理解自然语言,并将其转化为细节丰富、风格多样的视觉作品。 由于其出色的艺术表现力和视觉冲击力,Midjourney 已成为设计师、插画师、品牌创意人员以及 AI 爱好者广泛使用的工具之一。 Midjourney 核心特点 * 文本生成图像:将抽象想法直接转化为可视画面 * 高艺术质量:在光影、构图、风格化方面尤为出色 * 云端运行:通过 Discord 操作,

Stable-Diffusion-v1-5-archive基础教程:Prompt/Negative Prompt参数精讲

Stable-Diffusion-v1-5-archive基础教程:Prompt/Negative Prompt参数精讲 你是不是也遇到过这种情况:用Stable Diffusion生成图片,明明输入了“一只可爱的猫”,结果出来的却是只奇形怪状的“猫科生物”?或者想画个“阳光下的海滩”,结果画面却阴沉得像世界末日? 别急着怀疑自己的艺术天赋,问题很可能出在提示词上。今天,我们就来彻底搞懂Stable Diffusion v1.5 Archive这个经典模型里,最核心也最让人头疼的两个参数:Prompt(正向提示词) 和 Negative Prompt(负向提示词)。 这篇文章不讲复杂的原理,只讲你能立刻用上的方法。我会用大白话告诉你,这两个参数到底是什么、怎么用、有哪些坑要避开。看完之后,你就能像老司机一样,精准地“指挥”AI画出你想要的画面。 1. 先认识一下我们的“画师”:Stable Diffusion v1.5 Archive 在开始“指挥”

突破性能瓶颈:llama.cpp多GPU分布式计算优化实践指南

突破性能瓶颈:llama.cpp多GPU分布式计算优化实践指南 【免费下载链接】llama.cppPort of Facebook's LLaMA model in C/C++ 项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp 你是否还在为大模型推理时单GPU显存不足而苦恼?是否遇到过模型加载缓慢、生成效率低下的问题?本文将从实战角度出发,系统讲解llama.cpp项目的多GPU性能优化方案,帮你解决分布式推理中的设备调度、显存分配和并行效率三大核心难题。读完本文,你将掌握多GPU环境配置、性能监控与问题诊断的完整流程,让本地大模型部署效率提升300%。 多GPU架构解析:从设备发现到任务调度 llama.cpp通过GGML后端实现跨设备计算调度,其核心机制位于src/llama.cpp的设备管理模块。系统启动时会自动扫描所有可用计算设备,按优先级分为GPU、集成GPU(iGPU)和RPC服务器三类,相关代码逻辑如下: // 设备分类与优先级排序(

用 OpenAI Whisper + pyannote.audio 打造“谁在说什么”的全栈语音理解系统

用 OpenAI Whisper + pyannote.audio 打造“谁在说什么”的全栈语音理解系统

只做语音识别的系统,只能回答“说了什么”; 只有说话人分离的系统,只能回答“谁在什么时候说话”; 把两者拼在一起,你就有了一个真正能看懂对话的机器。 这篇文章,我们从工程落地的角度,聊一聊:如何把 OpenAI 的 Whisper 语音识别模型,和 pyannote.audio 的说话人分离管线拼成一个“谁在什么时候说了什么”的完整解决方案。 我们会回答这三个核心问题: 1. 技术思路:Whisper + pyannote.audio 的组合到底在解决什么问题? 2. 工程实现:从一段音频到“带说话人标签的转写结果”,需要哪些关键步骤? 3. 实战建议:在真实业务里,这种方案要怎么做取舍、怎么优化? 全文尽量站在“要上线一个能工作的系统”的视角,而不是“能跑就行的 demo”。 一、为什么一定要把 Whisper 和 pyannote.