如何使用Python检测指定网站是否存在H10文本并保存符合条件的链接
Python实现遍历参数检测关键词并保存链接的方案
前置依赖
你需要先安装第三方依赖库,命令行执行以下命令即可:pip install requests beautifulsoup4
如果不想额外装包也可以用Python标准库urllib实现请求,requests仅为简化代码编写。
可直接运行的实现代码
import requests import time # 基础链接模板,自动将zoneid格式化为4位补零的格式,和示例的zoneid=0160格式完全匹配 BASE_URL = "https://geo1.ville.levis.qc.ca/grilleusage/default.aspx?zoneid={:04d}" # 匹配成功的链接保存路径 RESULT_FILE = "h10_matched_urls.txt" # 要检测的目标关键词 TARGET_KEYWORD = "H10" def main(): matched_urls = [] # 遍历zoneid 1到3000的范围 for zone_id in range(1, 3001): current_url = BASE_URL.format(zone_id) try: # 自定义UA、加超时逻辑,避免被反爬拦截或者请求卡住 resp = requests.get( current_url, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" }, timeout=15 ) # 仅对正常返回的页面做关键词检测 if resp.status_code == 200: if TARGET_KEYWORD in resp.text: print(f"匹配成功:{current_url}") matched_urls.append(current_url) # 加请求间隔,避免请求频率过高被封IP,可根据实际情况调整 time.sleep(0.5) except Exception as e: print(f"访问{current_url}异常:{str(e)},跳过当前ID") continue # 所有请求完成后统一写入结果文件 with open(RESULT_FILE, "w", encoding="utf-8") as f: for url in matched_urls: f.write(f"{url}\n") print(f"任务执行完成,共找到{len(matched_urls)}个匹配链接,已保存到{RESULT_FILE}") if __name__ == "__main__": main()
可选优化项
如果需要仅匹配页面可见文本里的H10,排除源码标签里的H10误匹配,可以引入BeautifulSoup提取页面纯文本后再检测,替换原代码的关键词检测逻辑即可:
from bs4 import BeautifulSoup soup = BeautifulSoup(resp.text, "html.parser") page_text = soup.get_text() if TARGET_KEYWORD in page_text:
内容的提问来源于stack exchange,提问作者ouss26
相关产品推荐
相关产品推荐

