利用python(或者其他工具),爬取天猫贝汉美旗舰店最近1个月新品,字段包含以下内容 | 图片 | | 标题 | | 一口价 | | sku图片 | | sku名称 | | sku价格 | 店铺地址:https://beihanmei.tmall.com/search.htm?spm=a1z10.3-b-s.w4011-14448522565.64.5fb979f0Z6DHiW&search=y&orderType=newOn_desc&tsearch=y
时间: 2023-08-25 21:16:53 浏览: 153
好的,您可以使用 Python 中的 requests 和 BeautifulSoup 库来实现爬取天猫贝汉美旗舰店最近1个月新品的功能。以下是爬取步骤:
1. 首先,使用 requests 库向店铺首页发送 GET 请求,获取店铺首页的 HTML 内容。
2. 接着,使用 BeautifulSoup 库解析 HTML 内容,找到最近1个月新品的列表。
3. 遍历新品列表,提取每个新品的图片、标题、一口价、sku图片、sku名称和sku价格等字段,并保存到一个字典中。
4. 将每个新品的字典保存到一个列表中。
5. 最后,将所有新品的列表保存到一个 CSV 文件中。
下面是具体实现的代码:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 请求头
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'}
# 店铺首页
url = 'https://beihanmei.tmall.com/search.htm?spm=a1z10.3-b-s.w4011-14448522565.64.5fb979f0Z6DHiW&search=y&orderType=newOn_desc&tsearch=y'
# 发送 GET 请求
response = requests.get(url, headers=headers)
# 解析 HTML 内容
soup = BeautifulSoup(response.text, 'html.parser')
# 找到新品列表
new_items = soup.find_all('div', {'class': 'product'})
# 保存新品信息的列表
products = []
# 遍历新品列表,提取信息
for item in new_items:
# 提取图片
img = item.find('img')['src']
# 提取标题
title = item.find('p', {'class': 'productTitle'}).text.strip()
# 提取一口价
price = item.find('em').text.strip()
# 提取sku信息
skus = item.find_all('li', {'class': 'item'})
sku_list = []
for sku in skus:
# 提取sku图片
sku_img = sku.find('img')['src']
# 提取sku名称
sku_name = sku.find('a').text.strip()
# 提取sku价格
sku_price = sku.find('span', {'class': 'c-price'}).text.strip()
sku_dict = {'sku_img': sku_img, 'sku_name': sku_name, 'sku_price': sku_price}
sku_list.append(sku_dict)
# 保存新品信息到字典
product = {'img': img, 'title': title, 'price': price, 'skus': sku_list}
products.append(product)
# 将新品信息保存到 CSV 文件中
with open('new_items.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
# 写入表头
writer.writerow(['图片', '标题', '一口价', 'sku图片', 'sku名称', 'sku价格'])
for product in products:
row = [product['img'], product['title'], product['price']]
for sku in product['skus']:
writer.writerow(row + [sku['sku_img'], sku['sku_name'], sku['sku_price']])
```
执行以上代码后,将在当前目录下生成一个名为 new_items.csv 的 CSV 文件,其中包含了天猫贝汉美旗舰店最近1个月新品的图片、标题、一口价、sku图片、sku名称和sku价格等字段。
阅读全文