抓取采集电商手机产品信息并储存到Excel

抓取采集电商手机产品信息并储存到Excel

​ 最近在学习中接触到了爬虫,通过实现了上课提供案例,抱着继续练练手的想法进行了本次操作:爬取唯品会单页华为手机的产品以及价格数据,并将其保存到本地的xlsx文件下。

一、准备阶段

​ 相关技术与库:

  • requests、Selenium请求响应
  • BeautifulSoup4解析html
  • openpyxl创捷写入Excel

1、实验中遇到的问题:配置selenium

​ selenium使用遇到的问题(selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH.)

2、构造bs提取内容时标签找不到、匹配不正确等

二、实验阶段

首先 引入实验中所需的包,并且将等下要保存的文件目录先确定下来。
在这里插入图片描述

准备好地址、头部信息准备来模拟浏览器操作。

在这里插入图片描述

在这里使用selenium模拟浏览器访问,简化操作,封装在get_site_content函数里。将获取到的html封装到beautifulsoup中,方便下一步的解析工作。

在这里插入图片描述

创建一个文件,写入列头,并且解析我们想要的属性或者标签,最终写入到本地excel文件中。

在这里插入图片描述

现在来看一下测试结果:
在这里插入图片描述

在这里插入图片描述截至到此,本次爬虫小测验就已经结束,在完成这个小项目的时候也遇到了不晓的困惑,比如selenium调用时的报错,经过反复的调试与查看解决方法,最终终于解决问题!希望对各位有帮助!
最后附上本次小实验的代码:
``
import os
import openpyxl
from selenium import webdriver
from bs4 import BeautifulSoup

os.chdir(“F:\Python汇总\crawler”)
os.getcwd()

url = “https://category.vip.com/suggest.php?keyword=%E5%8D%8E%E4%B8%BAmate30&ff=235|12|1|1”
headers = {
“User-Agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36”}

#模拟浏览器去访问页面
def get_site_content(url):
driver = webdriver.Chrome()
driver.get(url)
return driver.page_source

html = get_site_content(url)

#构造BeautifulSoup实例,提取内容
soup = BeautifulSoup(html,‘lxml’)

items = soup.find_all(“div”,class_=“goods-inner J_item_handle_height”)

wb = openpyxl.Workbook()
ws = wb.active
ws.title = “手机”
ws.append([“序号”,“产品”,“价格”])

#遍历列表并将数据添加到xlsx文件中
for i,item in enumerate(items):
price = item.find(“em”,class_=“goods-sells-price”).get_text()
title = item.find(“h4”,class_=“goods-info goods-title-info”).a.get_text()
# href = item.find(“a”,target_="_blank").attrs[“href”]
ws.append((i,title,price))
# print(title,":",price,)

#保存到本地
wb.save(“CallPhone.xlsx”)
``

发布了25 篇原创文章 · 获赞 5 · 访问量 1509

猜你喜欢

转载自blog.csdn.net/weixin_43656359/article/details/102575017
今日推荐