python爬取苏宁易购建立datafram(包含商品名称、尺寸或大小、单价、评论数、店铺名称、店铺类型等等)并分别输出
时间: 2024-10-17 13:08:11 浏览: 40
Python爬取数据通常使用requests库获取网页内容,然后利用BeautifulSoup或Scrapy等解析工具解析HTML结构,提取所需信息。对于苏宁易购这类电商平台的数据抓取,可能需要考虑反爬机制和网站结构的动态加载等问题。
以下是一个简单的示例,展示如何使用BeautifulSoup从静态页面抓取部分信息并创建DataFrame:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 定义目标URL
url = "https://www.suning.com/" # 需要实际替换为商品列表页的URL
# 发送请求
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 提取商品信息 (这里假设商品信息在一个特定的CSS选择器下)
item_container_css = '#product-list-container .product-item'
items = soup.select(item_container_css)
data = []
for item in items:
try:
name = item.find('div', class_='product-name').text.strip()
price = item.find('span', class_='price-value').text.strip()
rating = item.find('div', class_='review-count').text.strip()
shop_name = item.find('div', class_='shop-name').text.strip()
# 如果有尺寸或大小信息,可能会在其他标签中,这里仅作简单示例,实际可能需要更复杂的选择器
size = item.find('div', class_='size') or None
shop_type = item.find('span', class_='shop-type') or None
data.append([name, size, price, rating, shop_name, shop_type])
except Exception as e:
print(f"Error extracting data: {e}")
# 创建DataFrame
df = pd.DataFrame(data, columns=['商品名称', '尺寸/大小', '单价', '评论数', '店铺名称', '店铺类型'])
# 输出 DataFrame
print(df)
阅读全文