【Pyhton爬虫实战】爬取京东商城的商品信息

2024-04-24 20:36

本文主要是介绍【Pyhton爬虫实战】爬取京东商城的商品信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

爬取京东商城的商品信息,并将数据以Dataframe形式展示

from selenium.webdriver import Chrome, ChromeOptions
import re
import pymysql
from selenium.webdriver.common.by import By
import collections
import pandas as pdclass Spider():def __init__(self):self.browser = Noneself.info_diclist = list()def onepage_info_by_selenium(self, browser, url):"""获取详情页数据"""# browser.get("https://item.jd.com/100098751450.html")browser.get(url)grand = browser.find_element(by=By.CSS_SELECTOR, value="ul[id='parameter-brand'][class='p-parameter-list']")temp_dic = dict()# 品牌单独获取temp = re.split(r":\s{0,}", grand.text)temp_dic[temp[0]] = temp[1]info = browser.find_element(by=By.CSS_SELECTOR, value="ul[class='parameter2 p-parameter-list']")temp = re.findall(r"\S+:\s{0,}\S+", info.text)for i in temp:j = re.split(r":\s{0,}", i)temp_dic[j[0]] = j[1]# 获取好评差评# browser.find_element(by=By.CSS_SELECTOR, value="[data-tab='trigger'][data-anchor='#comment']").click()self.info_diclist.append(temp_dic)# input("end: ")def getmain_by_selenium(self):"""使用selenium操作主页并写入cookie"""browser = Chrome()browser.get('https://www.jd.com')cookies = self.get_cookie()for cookie in cookies:browser.add_cookie(cookie)return browserdef get_search_result(self, browser, key) -> list:"""将查询到的所有商品连接保存到列表"""inputbar = browser.find_element(by=By.ID, value='key')inputbar.send_keys(key)browser.find_element(by=By.CSS_SELECTOR, value="[class='button'][aria-label='搜索']").click()browser.implicitly_wait(5)hrefs = browser.find_elements(by=By.CSS_SELECTOR, value="div[class='p-img'] a[target='_blank']")return [href.get_attribute(name='href') for href in hrefs]def get_info(self):"""获取详细信息"""browser = self.getmain_by_selenium()results = self.get_search_result(browser, "投影仪")for url in results[:3]:self.onepage_info_by_selenium(browser, url=url)self.show_as_dataframe()input("end: ")def show_as_dataframe(self):"""将字典展示为Dataframe"""data = pd.DataFrame(self.info_diclist)print(data)def get_cookie(self):"""从数据库中获取cookie"""db = pymysql.connect(host='127.0.0.1',user='root',password='123456',charset='utf8',database='draft',port=3306)cursor = db.cursor()cursor.execute(query="SELECT COOKIE FROM COOKIES WHERE WEB_NAME='jingdong'")cookie = eval(cursor.fetchall()[0][0])cursor.close()db.close()return cookiedef main():Spider().get_info()if __name__ == '__main__':main()

这篇关于【Pyhton爬虫实战】爬取京东商城的商品信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/932777

相关文章

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

SpringBoot集成MyBatis实现SQL拦截器的实战指南

《SpringBoot集成MyBatis实现SQL拦截器的实战指南》这篇文章主要为大家详细介绍了SpringBoot集成MyBatis实现SQL拦截器的相关知识,文中的示例代码讲解详细,有需要的小伙伴... 目录一、为什么需要SQL拦截器?二、MyBATis拦截器基础2.1 核心接口:Interceptor

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.