You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python网页抓取需求:从HTML文档提取指定关键词并打印

帮你搭建提取特定关键词的Web Scraping脚本

Hey Jake,刚学Python两个月就着手写爬虫,这进度很赞!我来帮你搭建这个提取特定关键词thisisthephrase的脚本,用新手友好的工具来实现,步骤很清晰~

第一步:先装必要的库

我们用requests来获取网页内容,BeautifulSoup来解析HTML——这俩是入门爬虫的黄金组合,简单易上手。没装的话,打开终端跑这行命令:

pip install requests beautifulsoup4

第二步:完整脚本示例

下面是可以直接用的脚本,我会给你逐段解释,你也可以根据自己的需求调整:

import requests
from bs4 import BeautifulSoup

# 替换成你要爬的目标网页URL
target_url = "https://your-target-website.com/page"

try:
    # 发送请求获取网页内容(加个请求头模拟浏览器,避免被反爬拦截)
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
    }
    response = requests.get(target_url, headers=headers)
    # 检查请求是否成功,失败的话直接抛出错误
    response.raise_for_status()
    
    # 用BeautifulSoup解析HTML内容
    soup = BeautifulSoup(response.text, 'html.parser')
    
    # 定义要找的关键词
    keyword = "thisisthephrase"
    
    # 第一种方式:直接在整个网页文本里查找关键词
    if keyword in soup.get_text():
        print(f✅ 找到关键词:{keyword}")
        
        # 第二种方式:定位关键词所在的具体标签(更精准)
        # 查找所有包含该关键词的文本节点
        matching_elements = soup.find_all(string=lambda text: text and keyword in text)
        print("\n📌 关键词出现的位置及上下文:")
        for elem in matching_elements:
            # 打印关键词所在的文本内容
            print(f"文本内容:{elem.strip()}")
            # 打印该文本所在的HTML标签
            print(f"所在标签:<{elem.parent.name}>")
            print("---")
    else:
        print(f❌ 未找到关键词:{keyword}")

# 捕获请求过程中的所有异常(比如网络错误、网页不存在等)
except requests.exceptions.RequestException as e:
    print(f"❌ 请求网页时出错:{str(e)}")

第三步:针对本地HTML文件的写法

如果你的目标是本地的HTML文件(比如你提到的HTML示例),把脚本里的请求部分改成读取本地文件即可:

假设你的HTML示例是这样的:

<!DOCTYPE html>
<html>
<head>
    <title>测试页面</title>
</head>
<body>
    <div class="content">
        <p>这里是一段包含thisisthephrase的测试文本</p>
        <h3>标题里也藏着thisisthephrase</h3>
        <p>这段文本里没有目标关键词</p>
    </div>
</body>
</html>

对应的本地文件读取代码:

# 读取本地HTML文件
with open("your-local-file.html", "r", encoding="utf-8") as file:
    html_content = file.read()

# 后面的解析和查找逻辑和之前完全一样
soup = BeautifulSoup(html_content, 'html.parser')
keyword = "thisisthephrase"
# ... 剩下的查找代码

新手小提醒

  • 爬网站前记得看一下网站的robots.txt(比如https://example.com/robots.txt),确认网站允许爬取你要的内容,遵守爬虫礼仪~
  • 如果遇到请求被拒绝的情况,换个不同的User-Agent试试,或者放慢请求速度(比如加time.sleep(2))。

内容的提问来源于stack exchange,提问作者Jake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:25:16