当前位置: 首页 > news >正文

python转转商超书籍信息爬虫

1基本理论

1.1概念体系

        网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以按照我们设置的规则自动化爬取网络上的信息,这些规则被称为爬虫算法。是一种自动化程序,用于从互联网上抓取数据。爬虫通过模拟浏览器的行为,访问网页并提取信息。这些信息可以是结构化的数据(如表格数据),也可以是非结构化的文本。爬虫任务的执行流程通常包括发送HTTP请求、解析HTML文档、提取所需数据等步骤。

1.2技术体系

1请求库:用于向目标网站发送HTTP请求。常用的请求库包括requests、httplib、urllib等。这些库可以帮助我们模拟浏览器行为,发送GET、POST等请求,并处理响应内容。

2.解析库:用于解析HTML或XML文档,提取出我们需要的数据。常用的解析库包括BeautifulSoup、lxml、pyquery等。这些库可以帮助我们根据HTML文档的结构和标签,提取出我们需要的数据。

3.存储库:用于将爬取到的数据存储到本地或数据库中。常用的存储库包括sqlite3、mysql-connector-python、pymongo等。这些库可以帮助我们将数据存储到关系型数据库或非关系型数据库中,以便后续分析和利用。

2.代码编写流程

代码编写流程

代码共分为4部分,1网页数据抓包。2json数据地址规律,3json数据解析,数据存储。

2.1.网页抓包与地址规律

 通过网页抓包,解析到json数据。

加入该网页,红色线框中的数据,是要爬取的数据

网页地址https://app.zhuanzhuan.com/zzopen/sellbook/pcHomePageList?pageNum=1&pageSize=20&cateId2=100&cateId3=100

对网页刷新,发现抓包的数据增加,如下图

Json数据如下

网页地址 https://app.zhuanzhuan.com/zzopen/sellbook/pcHomePageList?pageNum=2&pageSize=20&cateId2=100&cateId3=100

对上面地址分析,发现地址中pageNum数值发生改变,第一页位数为1,第二页位数为2

依次类推。

编写翻页函数

函数中为中pageNum页面地址位数

2.2.页面解析

2.3.网页数据保存

·

3.应用举例

 

输出结果

通过上面代码测试,输出结果为每本书的相关数据,利用json查找语法解析json数据,将书籍书籍写入excel数据表中

4.编写代码

import requests
from openpyxl import Workbook,load_workbook
import os
import jsonpath  
import json
def wy_text(x):res=requests.get(url='https://app.zhuanzhuan.com/zzopen/sellbook/pcHomePageList?pageNum={}&pageSize=20&cateId2=100&cateId3=100'.format(x))sss=json.loads(res.text)return sss
class Excel_write():def __init__(self):self.excel_file = "转转图书信息.xlsx"if not os.path.exists(self.excel_file):self.wk = Workbook();#创建excel工作薄self.wk.create_sheet("图书信息",0);#sheet表名,位置(从0开始)# 默认选择当前活跃选项卡self.wb =self.wk['图书信息']self.wb.append(["书名",'出版社','出版日期','价格']);#横向插入数据self.wk.save(self.excel_file)self.wk_load = load_workbook(filename=self.excel_file)self.wb_load = self.wk_load['图书信息']def nr1(self,text):nr_text=[]p1=jsonpath.jsonpath(text,"$.respData..title")p3=jsonpath.jsonpath(text,"$.respData..publisher")p4=jsonpath.jsonpath(text,"$.respData..pubdate")p5=jsonpath.jsonpath(text,"$.respData")for i in range(len(p1)):nr_text.append([p1[i],p3[i],p4[i],p5[0][i]['sellPrice']/100])return nr_textdef nr_write(self):for i in range(1,40):s=wy_text(i)#类中调用外部函数list=Excel_write().nr1(s)#类中函数相互调用,注意外部或内部self参数都不用加for k in range(len(list)):self.wb_load.append(list[k])self.wk_load.save(filename=self.excel_file)
if __name__=="__main__":
Excel_write().nr_write()

 运行结果

相关文章:

python转转商超书籍信息爬虫

1基本理论 1.1概念体系 网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以按照我们设置的规则自动化爬取网络上的信息,这些规则被称为爬虫算法。是一种自动化程序,用于从互联网上抓取数据。爬虫通过模拟浏览器的行为,访问网页并…...

Spring Boot 中的 InitializingBean:Bean 初始化背后的故事

在 Spring Boot 应用中,Bean 的生命周期管理至关重要。InitializingBean 接口允许 Bean 在完成属性注入后执行自定义初始化逻辑。本文将深入探讨 InitializingBean 接口在 Spring Boot 中的应用,揭示其工作原理,并分享一些最佳实践&#xff0…...

微信小程序:实现单选,多选,通过变量控制单选/多选

一、实现单选功能 微信小程序提供了 radio 组件来实现单选功能。radio 组件需要配合 radio-group 使用。 1. WXML 代码 <radio-group bindchange"onRadioChange"><label wx:for"{{items}}" wx:key"id"><radio value"{{it…...

MOS怎样选型,步骤详解

一&#xff1a;选用N沟道还是P沟道   为设计选择正确器件的第一步是决定采用N沟道还是P沟道MOSFET。在典型的功率应用中&#xff0c;当一个MOSFET接地&#xff0c;而负载连接到干线电压上时&#xff0c;该MOSFET就构成了低压侧开关。在低压侧开关中&#xff0c;应采用N沟道M…...

CMake技术细节:解决未定义,提供参数

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

1688 满足跨境业务需求而提供的一组 API 接口

1688 跨境属性接口系列是 1688 开放平台为满足跨境业务需求而提供的一组 API 接口&#xff0c;其中最主要的是1688.item_get : 一&#xff1a;1688.item_get接口 接口功能&#xff1a;主要用于查询 1688 商品的跨境属性&#xff0c;为开发者和商家提供了获取商品跨境关键信息…...

物联网网关Web服务器--CGI开发实例BMI计算

本例子通一个计算体重指数的程序来演示Web服务器CGI开发。 硬件环境&#xff1a;飞腾派开发板&#xff08;国产E2000处理器&#xff09; 软件环境&#xff1a;飞腾派OS&#xff08;Phytium Pi OS&#xff09; 硬件平台参考另一篇博客&#xff1a;国产化ARM平台-飞腾派开发板…...

计算机网络 (51)鉴别

前言 计算机网络鉴别是信息安全领域中的一项关键技术&#xff0c;主要用于验证用户或信息的真实性&#xff0c;以及确保信息的完整性和来源的可靠性。 一、目的与重要性 鉴别的目的是验明用户或信息的正身&#xff0c;对实体声称的身份进行唯一识别&#xff0c;以便验证其访问请…...

【Docker】搭建一个功能强大的自托管虚拟浏览器 - n.eko

前言 本教程基于群晖的NAS设备DS423的docker功能进行搭建&#xff0c;DSM版本为 DSM 7.2.2-72806 Update 2。 n.eko 支持多种类型浏览器在其虚拟环境中运行&#xff0c;本次教程使用 Chromium​ 浏览器镜像进行演示&#xff0c;支持访问内网设备和公网地址。 简介 n.eko 是…...

论文笔记(六十二)Diffusion Reward Learning Rewards via Conditional Video Diffusion

Diffusion Reward Learning Rewards via Conditional Video Diffusion 文章概括摘要1 引言2 相关工作3 前言4 方法4.1 基于扩散模型的专家视频建模4.2 条件熵作为奖励4.3 训练细节 5 实验5.1 实验设置5.2 主要结果5.3 零样本奖励泛化5.4 真实机器人评估5.5 消融研究 6 结论 文章…...

探索 Stable-Diffusion-Webui-Forge:更快的AI图像生成体验

目录 简介&#x1f31f; 主要特点&#x1f4e5; 安装步骤1. 下载2. 配置环境和安装依赖3. 模型目录说明 &#x1f680; 运行 Stable-Diffusion-Webui-Forge1. 进入项目目录2. 运行项目3. 打开页面 &#x1f3a8; 使用体验常见问题&#x1f4dd; 小结 简介 Stable-Diffusion-We…...

Redis使用基础

1 redis介绍 Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务 ! 是完全开源的&#xff0c;遵守 BSD 协议&#xff0c;是一个高性能的 key-value 数据库。 使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并…...

PyCharm+RobotFramework框架实现UDS自动化测试- (四)项目实战0x10

1.环境搭建 硬件环境&#xff1a;CANoe、待测设备&#xff08;包含UDS诊断模块&#xff09; 2.pythonPyCharm环境 pip install robotframework pip install robotframework-ride pip install openpyxl pip install udsoncan pip install python-can pip install can-isotp3…...

【TCP】rfc文档

tcp协议相关rfc有哪些 TCP&#xff08;传输控制协议&#xff09;是一个复杂的协议&#xff0c;其设计和实现涉及多个RFC文档。以下是一些与TCP协议密切相关的RFC文档列表&#xff0c;按照时间顺序排列&#xff0c;涵盖了从基础定义到高级特性和优化的各个方面&#xff1a; 基…...

【SpringCloud】黑马微服务学习笔记

目录 1. 关于微服务 ?1.1 微服务与单体架构的区别 ?1.2 SpringCloud 技术 2. 学习前准备 ?2.1 环境搭建 ?2.2 熟悉项目 3. 正式拆分 ?3.1 拆分商品功能模块 ?3.2 拆分购物车功能模块 4. 服务调用 ?4.1 介绍 ?4.2 RustTemplate?的使用 4.3 服务治理-注册中…...

梯度提升决策树树(GBDT)公式推导

### 逻辑回归的损失函数 逻辑回归模型用于分类问题&#xff0c;其输出是一个概率值。对于二分类问题&#xff0c;逻辑回归模型的输出可以表示为&#xff1a; \[ P(y 1 | x) \frac{1}{1 e^{-F(x)}} \] 其中 \( F(x) \) 是一个线性组合函数&#xff0c;通常表示为&#xff…...

【MySQL】表的基本操作

??表的基本操作 文章目录&#xff1a; 表的基本操作 创建查看表 创建表 查看表结构 表的修改 表的重命名 表的添加与修改 删除表结构 总结 前言&#xff1a; 在数据库中&#xff0c;数据表是存储和组织数据的基本单位&#xff0c;对于数据表的操作是每个程序员需要烂熟…...

项目中使用的是 FastJSON(com.alibaba:fastjson)JSON库

从你的 pom.xml 文件中可以看到&#xff0c;项目明确依赖了以下 JSON 库&#xff1a; FastJSON&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version> </depende…...

Flutter中PlatformView在鸿蒙中的使用

Flutter中PlatformView在鸿蒙中的使用 概述在Flutter中的处理鸿蒙端创建内嵌的鸿蒙视图创建PlatformView创建PlatformViewFactory创建plugin&#xff0c;注册platformview注册插件 概述 集成平台视图&#xff08;后称为平台视图&#xff09;允许将原生视图嵌入到 Flutter 应用…...

音频入门(一):音频基础知识与分类的基本流程

音频信号和图像信号在做分类时的基本流程类似&#xff0c;区别就在于预处理部分存在不同&#xff1b;本文简单介绍了下音频处理的方法&#xff0c;以及利用深度学习模型分类的基本流程。 目录 一、音频信号简介 1. 什么是音频信号 2. 音频信号长什么样 二、音频的深度学习分…...

最新全开源礼品代发系统源码_电商快递代发_一件代发系统

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示一、详细介绍 最新全开源礼品代发系统源码/电商快递代发/一件代发系统 测试环境&#xff1a;Nginx PHP7.2 MySQL5.6 二、效果展示 1.部分代码 代码如下&#xff08;示例&#xff09;&#xff1a; public functi…...

2026届最火的十大AI论文网站推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 维普AIGC检测系统&#xff0c;是维普平台针对学术论文&#xff0c;推出的&#xff0c;用于识…...

IAR开发环境配置:解决Fatal Error[Pe1696]头文件缺失问题

1. 初识Fatal Error[Pe1696]&#xff1a;头文件去哪了&#xff1f; 第一次用IAR开发环境的朋友&#xff0c;十有八九会遇到这个让人抓狂的错误提示&#xff1a;"Fatal Error[Pe1696]: cannot open source file core_cm0plus.h"。这就像你照着菜谱做菜&#xff0c;明明…...

如何快速集成JCameraView:5分钟实现微信级拍照功能

如何快速集成JCameraView&#xff1a;5分钟实现微信级拍照功能 【免费下载链接】CameraView 仿微信拍照Android控件&#xff08;轻触拍照&#xff0c;长按摄像&#xff09; 项目地址: https://gitcode.com/gh_mirrors/cam/CameraView JCameraView是一款仿微信拍照的Andr…...

Phi-4-mini-reasoning教育科技:智能错题本中归因分析与解法推荐引擎

Phi-4-mini-reasoning教育科技&#xff1a;智能错题本中归因分析与解法推荐引擎 1. 模型介绍与教育应用价值 Phi-4-mini-reasoning是一款专注于推理任务的文本生成模型&#xff0c;特别适合数学题、逻辑题等多步分析场景。在教育科技领域&#xff0c;它为解决传统错题本"…...

从零到一:深入解析蓝牙AVRCP协议在Android开发中的实战应用

1. 蓝牙AVRCP协议入门&#xff1a;从概念到应用场景 第一次接触AVRCP协议时&#xff0c;我也被各种专业术语搞得晕头转向。简单来说&#xff0c;AVRCP就像是蓝牙设备之间的"遥控器协议"。想象你坐在沙发上用电视遥控器换台——AVRCP就是让手机能远程控制蓝牙音箱的那…...

LIN矩阵解析实战:从Excel到位定义的自动化转换工具与应用

1. LIN矩阵解析的工程痛点与自动化需求 在汽车电子开发中&#xff0c;LIN总线通信设计总是绕不开矩阵表的处理。每次拿到客户提供的Excel格式矩阵表时&#xff0c;工程师们都会面临三大灵魂拷问&#xff1a;如何快速理解上百个信号定义&#xff1f;如何避免手动解析时的位运算错…...

从大地到天空:无人机姿态解算中的旋转矩阵实战

1. 旋转矩阵&#xff1a;无人机姿态解算的"翻译官" 当你操控无人机从地面腾空而起时&#xff0c;其实发生了一场精密的"坐标系对话"。GPS告诉你"当前位置在东经116度、北纬40度"&#xff0c;IMU传感器却汇报"机体正在以X轴倾斜15度飞行&qu…...

如何构建 Flink SQL 任务的血缘分析

版本一&#xff1a;干燥苦涩、缺乏深度&#xff08;反面回答素材&#xff09;面试者语气&#xff1a;&#xff08;机械地背诵&#xff0c;没有眼神交流&#xff0c;缺乏实践细节&#xff09;“关于 Flink SQL 的血缘分析&#xff0c;我认为主要分为以下几个步骤&#xff1a;首先…...

Pixel Script Temple部署教程:ARM服务器(如NVIDIA Grace)上Qwen2.5量化部署

Pixel Script Temple部署教程&#xff1a;ARM服务器&#xff08;如NVIDIA Grace&#xff09;上Qwen2.5量化部署 1. 项目概述 Pixel Script Temple是一款基于Qwen2.5-14B-Instruct深度微调的专业剧本创作工具。它将AI推理能力与8-Bit复古美学相结合&#xff0c;为创作者提供沉…...