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

如何批量从多个URL抓取德语动词并写入Excel对应单元格?

实现方案

以下是可直接运行的完整代码,已包含循环遍历、异常捕获、反爬适配逻辑:

from bs4 import BeautifulSoup
from openpyxl import Workbook
import requests
import time
import random

# 初始化Excel工作簿
wb = Workbook()
ws = wb.active

# 配置参数,请替换为你自己的实际值
URL_TXT_PATH = "urls.txt" # 存储2700条URL的文本文件路径
REQUEST_COOKIES = {'COOKIE_WILL_BE_HERE'} # 你自己的有效Cookie
REQUEST_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'
}
FAILED_URLS = [] # 存储请求失败的URL,后续可单独补全

# 读取所有URL
with open(URL_TXT_PATH, 'r', encoding='utf-8') as f:
    url_list = [line.strip() for line in f if line.strip()]

# 循环处理每个URL
for row_num, url in enumerate(url_list, start=1):
    try:
        # 发送请求
        resp = requests.get(
            url,
            cookies=REQUEST_COOKIES,
            headers=REQUEST_HEADERS,
            timeout=10
        )
        resp.raise_for_status()

        # 提取动词,两种方案二选一即可
        # 方案1:沿用你原有页面解析逻辑,适合需要校验页面返回正确性的场景
        soup = BeautifulSoup(resp.text, 'html.parser')
        infiniv_tag = soup.find_all('a')[44]
        verb = infiniv_tag.text.strip()

        # 方案2:直接从URL提取动词,无需解析页面,效率更高、不会受页面结构变动影响
        # verb = url.split('-verb-')[-1].replace('.html', '').strip()

        # 写入Excel对应A列单元格
        ws.cell(row=row_num, column=1, value=verb)

        # 随机延时,避免触发反爬规则
        time.sleep(random.uniform(1, 3))
        print(f"已完成:{row_num}/{len(url_list)} | {verb}")

    except Exception as e:
        print(f"处理失败:第{row_num}条URL {url} | 错误:{str(e)}")
        FAILED_URLS.append(url)
        continue

# 保存最终文件
wb.save('AlleVerben.xlsx')

# 输出失败的URL清单
if FAILED_URLS:
    print(f"\n共{len(FAILED_URLS)}条URL处理失败:")
    for fail_url in FAILED_URLS:
        print(fail_url)

注意事项

  • 若爬取过程中被网站限制,可适当调大time.sleep的延时区间
  • 若页面结构变动导致下标44的定位逻辑失效,直接切换方案2提取动词即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:45:01