实现京东商品详细信息爬虫可以分为以下几个步骤:
- 发起 HTTP 请求获取商品页面 HTML;
- 使用网页解析库解析 HTML,提取商品详细信息;
- 存储提取的信息。
下面是一个简单的 Python 示例,使用 requests 库发起 HTTP 请求,使用 Beautiful Soup 解析 HTML,提取商品信息,最后将提取的信息存储到 CSV 文件中。
import requests
from bs4 import BeautifulSoup
import csv
# 商品 URL
url = 'https://item.jd.com/100008348542.html'
# 发起 HTTP 请求
response = requests.get(url)
# 使用 Beautiful Soup 解析 HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 提取商品信息
sku = url.split('/')[-1].split('.')[0] # 商品 ID
name = soup.select_one('div.sku-name').text.strip() # 商品名称
price = soup.select_one('span.price.J-p-' + sku).text.strip() # 商品价格
comments = soup.select_one('a[href="#comment"]').text.strip() # 商品评论数
# 存储提取的信息到 CSV 文件
with open('products.csv', 'w', newline='', encoding='utf-8-sig') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['ID', '名称', '价格', '评论数'])
writer.writerow([sku, name, price, comments])
需要注意的是,以上代码仅适用于解析单个商品页面,如果需要爬取多个商品信息,需要编写爬虫程序循环处理每个商品页面。此外,如果需要爬取的商品数量较多,需要考虑反爬虫策略,如降低爬取频率、使用代理 IP 等。