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

Python拼接用户输入到URL后网页爬取不到链接问题求助

问题排查与解决

核心问题分析

直接写死matilda能正常爬取,但通过input获取内容后无输出,本质是用户输入的格式不匹配网站URL的要求,常见情况有:

  • 输入包含空格(网站URL不允许原生空格,需替换为-或_)
  • 输入存在大小写差异(多数字幕站仅支持小写搜索词)
  • 输入带有前后多余空格

具体修复方案

1. 标准化用户输入

对输入内容做格式化处理,适配网站的URL规则:

import requests
from bs4 import BeautifulSoup

find_movie = input('Type name of the movie you want subtitles for: \n')
# 格式化输入:去前后空格、空格转连字符、统一小写
formatted_movie = find_movie.strip().replace(' ', '-').lower()

subs_url = f'https://indexsubtitle.com/{formatted_movie}'
# 打印URL验证是否和手动搜索的一致
print(f"当前访问URL: {subs_url}")

# 添加浏览器请求头,避免被网站拦截
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
html_text = requests.get(subs_url, headers=headers).text
subs_soup = BeautifulSoup(html_text, 'html.parser')

# 过滤空链接,只输出有效href
for link in subs_soup.find_all('a'):
    href = link.get('href')
    if href:
        print(href)

2. 验证URL一致性

手动在网站搜索目标电影,复制浏览器地址栏的URL,和代码打印的subs_url对比:

  • 如果不一致,说明格式规则需要调整(比如有些网站用_代替-,或保留特定大小写)
  • 如果一致但仍无输出,检查网站是否需要登录,或有反爬机制限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 03:15:00