要获取虾皮全网站的商品详情信息,你需要先了解虾皮网站的数据结构和网页地址规律。以下是一个简单的Python程序,可以获取虾皮网站上所有商品的名称、价格和详情信息,你可以根据自己的需求进行修改和优化。
import requests from bs4 import BeautifulSoup # 获取虾皮商品详情页数据 def get_product_data(url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') product_data = {} # 获取商品名称和价格 product_data['name'] = soup.find('h1', {'class': 'qaNIZv'}).text.strip() product_data['price'] = soup.find('div', {'class': '_3n5NQx'}).text.strip() # 获取商品详情信息 details_soup = soup.find_all('div', {'class': '_2GcJzG'})[1] product_data['details'] = details_soup.text.strip() return product_data # 获取所有商品的详情信息 def get_all_products(): base_url = 'https://shopee.sg/search?keyword=' keywords = ['iphone', 'samsung', 'xiaomi'] # 搜索关键字列表 products = [] for keyword in keywords: url = base_url + keyword response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 获取所有商品链接 for product in soup.find_all('a', {'data-sqe': 'link'}): product_url = 'https://shopee.sg' + product['href'] product_data = get_product_data(product_url) products.append(product_data) return products # 打印所有商品的名称、价格和详情信息 if __name__ == "__main__": products = get_all_products() for product in products: print('Name:', product['name']) print('Price:', product['price']) print('Details:', product['details']) print('\n')
返回一个包含商品名称、价格和详情信息的字典。get_all_products() 函数用于获取所有商品的详情信息,它需要事先定义一个关键字列表,在虾皮网站上搜索这些关键字,然后获取每一个商品的详情信息,最后返回一个包含所有商品详情信息的列表。
在程序的最后,我们使用 get_all_products() 函数获取所有商品详情api信息,然后使用一个简单的 for 循环依次输出每一个商品的名称、价格和详情信息。注意,此程序只是一个简单的示例,如果你需要获取更多的商品信息或者是处理更复杂的数据,你需要对此程序进行优化和改进。