#!/usr/bin/env python3 """ Debug script to check Flipkart page structure """ import requests from bs4 import BeautifulSoup import random def debug_flipkart_page(url): """Debug function to see what's on the Flipkart page""" user_agents = [ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' ] session = requests.Session() session.headers.update({ 'User-Agent': random.choice(user_agents), 'Accept-Language': 'en-US,en;q=0.9,hi;q=0.8', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate, br', 'Referer': 'https://www.flipkart.com/', 'Connection': 'keep-alive' }) try: # First visit homepage session.get('https://www.flipkart.com/', timeout=10) # Get product page response = session.get(url, timeout=15) print(f"Status Code: {response.status_code}") if response.status_code == 200: soup = BeautifulSoup(response.content, 'lxml') # Check page title title = soup.find('title') if title: print(f"Page Title: {title.get_text()}") # Look for common price-related elements print("\nSearching for price elements...") price_elements = soup.find_all(['div', 'span'], class_=lambda x: x and any(word in str(x).lower() for word in ['price', 'cost', 'rupee', '₹'])) for i, elem in enumerate(price_elements[:10]): # Show first 10 matches print(f"{i+1}. Class: {elem.get('class')} | Text: {elem.get_text(strip=True)[:50]}") # Look for elements containing rupee symbol rupee_elements = soup.find_all(text=lambda text: text and '₹' in text) print(f"\nFound {len(rupee_elements)} elements with ₹ symbol") for i, elem in enumerate(rupee_elements[:5]): # Show first 5 print(f"{i+1}. {elem.strip()}") else: print(f"Failed to fetch page. Status: {response.status_code}") print(f"Response headers: {response.headers}") except Exception as e: print(f"Error: {e}") if __name__ == "__main__": test_url = "https://www.flipkart.com/oneplus-bullets-wireless-z2-bluetooth-headset/p/itm4c3852314bb61" debug_flipkart_page(test_url)