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

使用Python BeautifulSoup无法抓取Airtel网站套餐,如何抓取充值套餐?

抓取Airtel官网充值套餐的解决方案

问题根源

你的代码无法拿到有效套餐数据,核心原因有两个:

  • 动态渲染限制:Airtel的套餐数据是页面加载完成后通过JavaScript异步加载的,requests.get只能获取静态HTML骨架,看不到实际的套餐内容。
  • 反爬拦截:服务器识别出请求来自脚本而非浏览器,返回的内容不完整。

可行解决方法

方法1:用Selenium模拟浏览器渲染

Selenium可以模拟真实浏览器加载页面,获取JS渲染后的完整HTML,适合处理动态页面。

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

# 配置无头模式(无需弹出浏览器窗口)
chrome_options = Options()
chrome_options.add_argument("--headless=new")

# 初始化Chrome驱动(需确保ChromeDriver版本与浏览器匹配,且在环境变量路径中)
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://www.airtel.in/myplan-infinity/")

# 等待页面完全加载(根据网络情况调整等待时间)
time.sleep(3)

# 获取渲染后的页面源码
page_html = driver.page_source
driver.quit()

# 解析页面
soup = BeautifulSoup(page_html, 'html.parser')

# 定位套餐元素(需根据实际页面结构调整选择器,示例用类名定位)
plan_containers = soup.find_all('div', class_='plan-card')  # 替换为页面实际的类名
for container in plan_containers:
    plan_details = container.get_text(strip=True)
    print(plan_details)

方法2:直接调用后端API(效率更高)

通过浏览器开发者工具(F12 → Network标签)抓包,找到返回套餐数据的API接口,直接请求接口获取JSON数据,比解析HTML更高效准确。

示例代码(需替换为实际抓包得到的API地址和请求头):

import requests

# 模拟浏览器请求头,避免被拦截
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',
    'Referer': 'https://www.airtel.in/myplan-infinity/'
}

# 替换为抓包得到的真实API地址
api_url = "https://www.airtel.in/api/v1/plans/infinity"
response = requests.get(api_url, headers=headers)

if response.status_code == 200:
    plan_data = response.json()
    # 提取并打印套餐信息
    for plan in plan_data.get('data', []):
        print(f"套餐名称: {plan.get('title')}, 价格: ₹{plan.get('price')}, 描述: {plan.get('description')}")

注意事项

  • 抓包API时,需注意接口的请求参数、Cookie或Token,部分接口需要携带验证信息才能返回数据。
  • 控制请求频率,避免频繁触发网站反爬机制,可添加time.sleep()间隔请求。
  • 页面结构和API接口可能会更新,需定期检查并调整代码中的选择器或接口地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:46:30