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

如何用Python按指定规则抓取网站中符合条件的页面?

获取指定格式的网站页面链接

前置依赖

先安装所需的Python库:

pip install beautifulsoup4 requests

实现代码

import requests
from bs4 import BeautifulSoup
import re

# 目标网站基础地址
base_domain = "https://mywebsite.com"

# 获取网站首页内容(假设目标链接都在首页展示)
resp = requests.get(base_domain)
resp.encoding = resp.apparent_encoding  # 自动识别编码,避免乱码

# 解析HTML结构
soup = BeautifulSoup(resp.text, "html.parser")

# 定义正则规则:匹配以article开头、数字结尾的完整链接
link_pattern = re.compile(rf"^{re.escape(base_domain)}/article\d+$")

target_links = []
# 遍历所有带href属性的a标签
for anchor in soup.find_all("a", href=True):
    raw_link = anchor["href"]
    # 处理相对链接,转换为完整URL
    if raw_link.startswith("/article"):
        full_link = f"{base_domain}{raw_link}"
    else:
        full_link = raw_link
    # 验证链接是否符合规则
    if link_pattern.match(full_link):
        target_links.append(full_link)

# 输出筛选后的结果
for link in target_links:
    print(link)

关键说明

  • 正则规则:rf"^{re.escape(base_domain)}/article\d+$" 确保链接以你的域名开头,紧接着是/article,最后是一串数字,^和$保证完全匹配,避免包含其他字符的链接混入。
  • 相对链接处理:很多网站的内部链接会用相对路径(比如/article1),所以需要拼接基础域名转换成完整URL再匹配。
  • 扩展性:如果目标链接不在首页,你可以循环遍历网站的其他页面,重复上述解析和匹配逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 05:33:12