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

如何使用BeautifulSoup解析文本文件中存储的多个URL并完成爬取

实现步骤

1. 准备URL存储文件

新建纯文本文件(比如命名为urls.txt),将300个URL按每行1个的格式存入。如果文件和Python脚本不在同一个文件夹,后续填写文件的绝对路径即可,否则直接写文件名就行。

2. 调整后可直接运行的代码

import requests
from bs4 import BeautifulSoup

# 读取URL列表文件
with open("urls.txt", "r", encoding="utf-8") as f:
    # 逐行读取,去除每行首尾的空白符(换行、空格等),过滤空行
    url_list = [line.strip() for line in f if line.strip()]

# 循环处理每个URL
for url in url_list:
    try:
        # 请求超时设置为10秒,避免长时间卡住
        source = requests.get(url, timeout=10).text
        soup = BeautifulSoup(source, features="html.parser")
        title = soup.find("meta", attrs={'itemprop': 'acquia_lift:content_keywords'})
        # 输出时带上当前URL,方便对应结果
        print(f"{url}: {title['content'] if title is not None else 'No meta title given'}")
    except Exception as e:
        # 捕获请求、解析等各类异常,避免单个URL失败导致整个脚本终止
        print(f"{url}: 处理失败,错误信息:{str(e)}")

3. 核心逻辑说明

  • 用with open()的方式读取文本文件,会自动处理文件关闭,不需要手动操作
  • 读取时通过列表推导式过滤掉空行和每行的换行符,避免无效URL导致请求失败
  • 增加了异常捕获和超时设置,300个URL批量请求时,不会因为个别URL无法访问、页面解析出错导致整个脚本终止
  • 输出结果附带对应URL,方便后续整理匹配每个站点的取值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 08:30:05