要获取虾皮全网站的商品详情信息,你需要先了解虾皮网站的数据结构和网页地址规律。以下是一个简单的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 循环依次输出每一个商品的名称、价格和详情信息。注意,此程序只是一个简单的示例,如果你需要获取更多的商品信息或者是处理更复杂的数据,你需要对此程序进行优化和改进。