惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Hacker News
The Hacker News
C
Cyber Attacks, Cyber Crime and Cyber Security
A
Arctic Wolf
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
Troy Hunt's Blog
小众软件
小众软件
L
LangChain Blog
Schneier on Security
Schneier on Security
D
DataBreaches.Net
爱范儿
爱范儿
P
Proofpoint News Feed
博客园 - 聂微东
M
MIT News - Artificial intelligence
Hacker News: Ask HN
Hacker News: Ask HN
T
Tailwind CSS Blog
Vercel News
Vercel News
V
Visual Studio Blog
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
T
Threat Research - Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
月光博客
月光博客
Spread Privacy
Spread Privacy
C
Cisco Blogs
S
Securelist
量子位
S
Security @ Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tenable Blog
WordPress大学
WordPress大学
T
The Exploit Database - CXSecurity.com
宝玉的分享
宝玉的分享
C
Cybersecurity and Infrastructure Security Agency CISA
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
MongoDB | Blog
MongoDB | Blog
C
CERT Recently Published Vulnerability Notes
Help Net Security
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
B
Blog RSS Feed
博客园_首页
Security Archives - TechRepublic
Security Archives - TechRepublic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org

博客园 - 慕尘

在浏览器跑 Qwen2.5 使用 WSL 在 Windows 上安装 Linux LangExtract pgvector 向量数据库 Faiss Goose trafilatura unstructured python的jieba MinGW nomic-embed-text 解析非结构化数据 LangChain 的 DocumentLoader 能够使用require但不能使用import ChromaDB nvm-windows 使用js实现文字转语音 pyttsx3 Ollama笔记
python里使用Playwright
慕尘 · 2025-03-14 · via 博客园 - 慕尘

Playwright 是由微软开发的一款开源的 Web 自动化测试框架,主要用于自动化测试和浏览器操作

它是一个跨浏览器的自动化工具,支持 Python、JavaScript 等多种语言

安装

安装 Playwright 支持的浏览器 

从 HTML 中提取文字、标题、摘要和关键字

from playwright.sync_api import sync_playwright
from bs4 import BeautifulSoup  # 用于解析 HTML

def extract_page_content(url):
    with sync_playwright() as p:
        # 启动浏览器
        browser = p.chromium.launch(headless=True)  # 可以设置为 headless=False 方便调试
        page = browser.new_page()

        # 导航到目标页面
        page.goto(url)
        page.wait_for_load_state("networkidle")  # 等待页面加载完成

        # 获取页面的 HTML 内容
        html_content = page.content()

        # 关闭浏览器
        browser.close()

    # 使用 BeautifulSoup 解析 HTML
    soup = BeautifulSoup(html_content, "html.parser")

    # 提取标题
    title = soup.find("title").text if soup.find("title") else "No title found"

    # 提取摘要(meta description)
    meta_description = soup.find("meta", attrs={"name": "description"})
    description = meta_description["content"] if meta_description else "No description found"

    # 提取关键字(meta keywords)
    meta_keywords = soup.find("meta", attrs={"name": "keywords"})
    keywords = meta_keywords["content"] if meta_keywords else "No keywords found"

    # 提取正文内容(去除 HTML 标签)
    text = soup.get_text(separator="\n", strip=True)

    return {
        "title": title,
        "description": description,
        "keywords": keywords,
        "text": text
    }

url = "https://www.cnblogs.com/baby123/p/18772196"
result = extract_page_content(url)
print("Title:", result["title"])
print("Description:", result["description"])
print("Keywords:", result["keywords"])
print("Content:", result["text"])