爬虫爬取京东手机数据,内容包括店铺名,价格,评论数,手机颜色,品牌。要求可以i自己输入爬取几页,并且爬取后将信息保存为excel
时间: 2024-03-27 12:37:52 浏览: 42
好的,对于这个问题,我们可以在上一个问题中的代码基础上,再加上将爬取的信息保存为 Excel 文件的功能。
具体实现如下:
```
import requests
from bs4 import BeautifulSoup
import openpyxl
# 创建一个新的 Excel 文件
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = "手机信息"
# 添加表头
sheet["A1"] = "店铺名"
sheet["B1"] = "价格"
sheet["C1"] = "评论数"
sheet["D1"] = "手机颜色"
sheet["E1"] = "品牌"
# 输入要爬取的页数
pages = int(input("请输入要爬取的页数:"))
# 循环爬取每一页的数据
for page in range(1, pages+1):
url = f"https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&page={page}"
# 发送请求
response = requests.get(url)
# 解析网页内容
soup = BeautifulSoup(response.text, "html.parser")
# 获取所有商品列表
items = soup.find_all("div", class_="gl-i-wrap")
# 遍历商品列表,提取需要的数据
for index, item in enumerate(items):
# 店铺名
shop = item.find("div", class_="p-shop").a.string.strip()
# 价格
price = item.find("div", class_="p-price").i.string.strip()
# 评论数
comment = item.find("div", class_="p-commit").a.string.strip()
# 手机颜色
color = item.find("div", class_="p-name").em.string.strip()
# 品牌
brand = item.find("div", class_="p-name").a.string.strip()
# 将爬取的信息保存到 Excel 文件中
sheet.cell(row=index+2, column=1, value=shop)
sheet.cell(row=index+2, column=2, value=price)
sheet.cell(row=index+2, column=3, value=comment)
sheet.cell(row=index+2, column=4, value=color)
sheet.cell(row=index+2, column=5, value=brand)
# 保存 Excel 文件
workbook.save("手机信息.xlsx")
```
在这个示例中,我们使用了 openpyxl 模块来创建一个新的 Excel 文件,并添加表头。然后在循环遍历商品列表的过程中,将需要的信息写入 Excel 文件中。最后保存 Excel 文件。
需要注意的是,这个示例中,每一页的商品数量可能是不同的,因此我们需要使用 `enumerate()` 函数来获取每个商品在 Excel 文件中的行数。如果需要在实际项目中使用,还需要考虑一些其他的问题,比如异常处理、文件路径等。
阅读全文