怎么查自己手机型号,vivo手机价格表大全

要求:

在京东商城搜索结果中,爬取某个品牌的手机型号、店铺名称、价格和评论条数,存储在CSV文件中。

型号 店铺名称 价格 评论

荣耀50闪充5G手机 荣耀京东旗舰店 3000 5万+

荣耀50se闪充5G手机 荣耀京东旗舰店 2400 2万+

荣耀V30pro手机 拍拍严选官方旗舰店 2400 5000+

荣耀V30 拍拍严选官方旗舰店 2000 100万+

……

问题如下:

1、按照店铺名称计算该品牌手机的均价,利用饼状图呈现店铺名称和手机均价的关系。例如:

店铺名称 平均价格

荣耀京东旗舰店 2700

拍拍严选官方旗舰店 2200

……

2、将该品牌手机,评论前10的手机型号和评论数量用柱状图展示出来。

型号 评论

荣耀V30 100万+

荣耀50闪充5G手机 5万+

荣耀50se闪充5G手机 2万+

荣耀V30pro手机 5000+

……

# 用Python和Selenium抓取京东手机数据

在这篇文章中,我们将介绍如何使用Python和Selenium库抓取京东网站上的手机数据。我们将抓取手机型号、店铺名称、价格和评论数量等信息。首先,我们将介绍所需的库和设置,然后编写实际的爬虫脚本。

## 准备工作

在开始之前,我们需要确保已经安装了必要的库:

1. BeautifulSoup:用于解析HTML内容。

2. Requests:用于发送HTTP请求。

3. Selenium:用于处理动态加载的网页内容。

安装这些库的命令如下:

“`bash

pip install beautifulsoup4 requests selenium

“`

接下来,我们需要下载一个WebDriver,例如[ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/downloads)。请根据您的浏览器版本下载适当的驱动程序,然后将其解压缩到一个适当的文件夹中。接下来,请确保将该文件夹添加到系统的环境变量`PATH`中。

## 编写爬虫脚本

我们的爬虫脚本主要分为以下几个部分:

1. 使用Selenium获取动态加载的页面内容。

2. 使用BeautifulSoup解析HTML内容并提取所需数据。

3. 将抓取到的数据保存到CSV文件中。

以下是完整的爬虫脚本:

“`python

import requests

from bs4 import BeautifulSoup

import csv

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

# xpanx.com 网站反爬机制可能随时更新,有问题可以联系微信: LiteMango

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"

}

def get_jd_page(keyword, page):

url = f"https://search.jd.com/Search?keyword={keyword}&enc=utf-8&page={page}"

driver = webdriver.Chrome()

driver.get(url)

try:

WebDriverWait(driver, 10).until(

EC.presence_of_all_elements_located((By.CSS_SELECTOR, "li.gl-item"))

)

html = driver.page_source

finally:

driver.quit()

return html

def parse_page(html):

soup = BeautifulSoup(html, "html.parser")

products = soup.find_all("li", class_="gl-item")

product_list = []

for product in products:

try:

title = product.find("div", class_="p-name").find("em").get_text()

price = product.find("div", class_="p-price").find("i").get_text()

shop = product.find("div", class_="p-shop").find("a").get_text().strip()

total_comments = product.find("div", class_="p-commit").find("strong").find("a").get_text()

product_list.append([title, shop, price, total_comments])

except AttributeError:

continue

return product_list

def save_to_csv(product_data, file_name):

with open(file_name, "w", newline="", encoding="utf-8") as csvfile:

writer = csv.writer(csvfile)

writer.writerow(["型号", "店铺名称", "价格", "评论"])

writer.writerows(product_data)

def main():

keyword = "手机"

page = 1

html = get_jd_page(keyword, page)

product_data = parse_page(html)

save_to_csv(product_data, "jd_mobiles.csv")

if __name__ == "__main__":

main()

“`

## 运行爬虫

效果

爬取京东搜索手机型号、店铺名称、价格和评论条数以CSV存储爬取

本文地址:https://www.cknow.cn/archives/33451

以上内容源自互联网,由百科助手整理汇总,其目的在于收集传播生活技巧,行业技能,本网站不对其真实性、可靠性承担任何法律责任。特此声明!

如发现本站文章存在版权问题,烦请提供版权疑问、侵权链接、联系方式等信息发邮件至candieraddenipc92@gmail.com,我们将及时沟通与处理。