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

【Python 小脚本·大用途 · 第 2 篇】

1. 痛点 100 字

做汇报、写教程、存证据时,只想把「当前网页」截成一整张长图,但浏览器插件要么收费、要么有水印。今天用 28 行 Python 实现「一键网页截图」,支持长图、自定义宽高、延迟加载,还能批量跑 URL 列表。


2. 脚本 28 行

#!/usr/bin/env python3
# webshot.py
import sys, time, argparse
from pathlib import Path
from playwright.sync_api import sync_playwrightdef shot(url, out, width=1280, height=None, delay=2):"""截图核心函数"""with sync_playwright() as p:iphone = p.devices['iPhone 14 Pro']  # 也可选 desktopbrowser = p.webkit.launch(headless=True)page = browser.new_page(**iphone) if not height else \browser.new_page(viewport={'width': width, 'height': height})page.goto(url, wait_until='networkidle')time.sleep(delay)  # 等懒加载page.screenshot(path=out, full_page=True)browser.close()print(f"✅ 已保存 {out}")def main():parser = argparse.ArgumentParser(description="网页长图截图工具")parser.add_argument("url", help="要截图的网址")parser.add_argument("-o", "--output", default="shot.png", help="输出文件名")parser.add_argument("-W", "--width", type=int, default=1280, help="视口宽度")parser.add_argument("-H", "--height", type=int, help="视口高度(可选)")parser.add_argument("-d", "--delay", type=int, default=2, help="等待秒数")args = parser.parse_args()shot(args.url, args.output, args.width, args.height, args.delay)if __name__ == "__main__":main()

3. 一行运行命令

安装依赖(仅一次):

pip install playwright
playwright install webkit

截图百度首页:

python webshot.py https://www.baidu.com -o baidu.png

批量跑 URL 列表(bash 循环):

cat urls.txt | xargs -I {} python webshot.py {} shots/{}.png

4. 效果示例

运行后目录:

shots/
├── baidu.png          # 整页长图
└── github.com.png

长图效果:自动拼接滚动区域,含懒加载图片。


5. 可选参数 & 常见坑

-W 800 -H 1200 生成移动端尺寸;
• 某些站点需登录,可在脚本里加 page.fill() + page.click()
• 若出现字体乱码,Linux 下安装 fonts-noto-cjk
• 大页面内存占用高,可在 launch() 里加 --disable-gpu

把脚本加入 PATH,随时 webshot <URL>,长图自由!

http://www.lryc.cn/news/617041.html

相关文章:

  • Day11 原理篇
  • afsim2.9_使用QtCreator和VSCode编译
  • Excel版经纬度和百分度互转v1.1
  • 第二章、LSTM(Long Short-term Memory:长短时记忆网络)
  • 基于python/django框架的车型识别系统
  • iptables -F 与 iptables -X
  • 基于Django的图书馆管理系统的设计与实现
  • 精准计算Word文档页数的PHP类
  • foxmail网站邮箱网络营销策略论文
  • 自己做网站排名好吗天津seo推广
  • 长春网站策划制作网页的代码
  • 我想创建一个网站sem 优化价格
  • 网站开发虚拟主机管理系统nba西部最新排名
  • 四川建设部网站官网温州最好的seo
  • 成都建设网站哪个好seo外包杭州
  • 南京学习做网站独立站搭建要多少钱
  • 北京网页设计学校成都sem优化
  • 网站建设方案书 个人做百度推广一个月多少钱
  • 一级a做爰片试看 免费网站百度竞价ocpc
  • php做公司网站seo网站推广怎么做
  • 常州微网站建设游戏搬砖工作室加盟平台
  • 中建建设银行网站北京今日重大新闻
  • wordpress做下载站百度推广代运营公司
  • 网站空间数据库专门看广告的网站
  • 电商网站话费充值怎么做北京推广优化经理
  • 竞价网站服务器台州网站建设优化
  • 常见网站页面布局类型seo流程
  • 开源企业网站管理系统网络广告营销案例有哪些
  • 遇到灾难网站变灰怎么做3000行业关键词
  • wordpress 教程类主题宁波seo外包引流推广