1.访问 http://10.0.200.3:8089/goods_list,完成以下操作: (1)实现商品类,至少包含商品名称、商品价格、商品封面地址等属性(2)编写爬虫实现抓取全部商品,分别使用商品类保存(3)后台打印抓取的商品总条数及商品详情 写出代码
时间: 2024-10-16 15:20:59 浏览: 25
首先,由于这是一个编程请求,我们需要使用Python的requests库来发送HTTP请求,并结合BeautifulSoup库解析HTML内容。假设我们已经安装了这两个库,以下是使用Python完成这个任务的一个简化示例:
```python
import requests
from bs4 import BeautifulSoup
from typing import List
# 定义商品类
class Product:
def __init__(self, name: str, price: float, cover_url: str):
self.name = name
self.price = price
self.cover_url = cover_url
def parse_html(url: str) -> List[Product]:
# 发送GET请求
response = requests.get(url)
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 假设商品列表在一个名为"product-list"的div里
product_list = soup.find('div', {'id': 'product-list'})
products = []
for item in product_list.find_all('div', class_='product-item'):
name = item.find('h2').text
price = float(item.find('span', class_='price').text)
cover_url = item.find('img')['src']
products.append(Product(name, price, cover_url))
return products
def print_products(products: List[Product]):
total_items = len(products)
print(f"共抓取到 {total_items} 条商品信息")
for i, product in enumerate(products, start=1):
print(f"商品 {i}: 名称 - {product.name}, 价格 - {product.price}, 封面 - {product.cover_url}")
if __name__ == "__main__":
url = "http://10.0.200.3:8089/goods_list"
products = parse_html(url)
print_products(products)
```
请注意,实际的URL和网页结构可能会有所不同,你需要根据实际网页调整代码中的标签名和类名。同时,此代码未处理可能出现的网络异常或其他错误,实际应用中需要添加相应的错误处理。
阅读全文