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
相关产品推荐
相关产品推荐

