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

Python爬虫脚本运行时Shell无响应问题求助(附代码)

解决爬取Flipkart时Python Shell无响应的问题

嘿,我之前爬电商网站也遇到过一模一样的情况!Flipkart这类平台有反爬机制,你的请求要么被服务器拦截了,要么服务器故意不返回响应,才导致Python Shell一直卡住甚至显示“未响应”。给你几个实用的解决方案:

  • 必须添加请求头模拟浏览器
    直接用requests.get()发送请求时,请求头里的User-Agent会暴露你是Python程序,很容易被识别拦截。咱们把请求头改成浏览器的样子:

    import requests
    from bs4 import BeautifulSoup
    
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
    }
    # 加上timeout参数,避免无限等待
    webdump = requests.get("https://www.flipkart.com/", headers=headers, timeout=10).text
    soup = BeautifulSoup(webdump,'lxml')
    print(soup.prettify())
    

    这里的timeout=10很重要——如果10秒内服务器没响应,程序会直接抛出超时错误,不会让Shell一直卡死。

  • 用Session维持会话(可选但有用)
    有些网站会通过Cookies验证会话,用requests.Session()可以帮你自动管理Cookies,提升请求的成功率:

    session = requests.Session()
    session.headers.update(headers)
    # 先获取一次Cookies再请求目标页面
    session.get("https://www.flipkart.com/", timeout=10)
    webdump = session.get("https://www.flipkart.com/", timeout=10).text
    
  • 更换HTML解析器试试
    偶尔lxml解析器也可能因为页面结构复杂导致卡顿,你可以换成Python内置的html.parser:

    soup = BeautifulSoup(webdump, 'html.parser')
    
  • 避免频繁请求
    如果后续要批量爬取,记得每次请求之间加个延迟(比如time.sleep(2)),不然很容易被封IP,导致请求无响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:35:34