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

如何用BeautifulSoup提取印度科技新闻页的新闻文章URL

解决方法

修改思路

印度快报的科技类新闻文章URL都包含路径 /article/technology/,我们只需要过滤出包含该路径的链接即可,同时处理相对链接转绝对链接的问题。

修改后的代码

import requests  # 原代码遗漏了这个导入,必须加上
from bs4 import BeautifulSoup

# 目标页面URL
target_url = 'https://indianexpress.com/section/technology/'
page = requests.get(target_url)
bSoup = BeautifulSoup(page.content, 'html.parser')

# 只提取包含新闻文章路径的链接
news_links = []
for link in bSoup.find_all('a', href=True):  # 直接筛选带href属性的a标签,简化判断
    href = link['href']
    # 判断是否是科技类新闻文章链接
    if '/article/technology/' in href:
        # 处理相对链接,转为完整URL
        if not href.startswith('http'):
            href = f"{target_url.split('/section/')[0]}{href}"
        news_links.append(href)

# 去重(页面可能有重复链接)
unique_news_links = list(set(news_links))

# 输出结果
for link in unique_news_links:
    print(link)

关键改动说明

  • 补充了requests库的导入,原代码缺失这一步会报错
  • 使用find_all('a', href=True)直接筛选带href属性的a标签,省去额外的if 'href' in link.attrs判断
  • 增加路径判断'/article/technology/' in href,精准过滤新闻文章链接
  • 处理相对链接转绝对链接的逻辑,避免输出不完整的URL
  • 增加去重处理,避免重复输出相同的新闻链接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:15:19