孔夫子二手书采集

文章目录

  • 项目演示
    • 软件采集单本数据
    • 网页搜索数据对比
  • 使用场景
  • 概述
  • 部分核心逻辑
    • Vb工程图
    • 数据导入与读取
    • 下拉框选择参数
    • 设置线程
  • 使用方法
    • 下载软件
    • 授权
    • 导入文件
    • 预览处理后的数据
  • 项目结构
  • 附件说明

项目演示

在这里插入图片描述

操作视频详见演示视频,以下为图文演示

软件采集单本数据

我们导入ISBN信息后,设置品相和价格筛选,待会方便进行数据比对。
在这里插入图片描述

采集了4条数据进行比对,看看是否与官方一致

在这里插入图片描述

Description

网页搜索数据对比

可见,脚本采集到的数据和官方一致,价格对应、店铺名、书籍名、出售数量全部对应

Description

Description


使用场景

软件主要是用于旧书信息采集,对接二手平台网站以实时获取数据。这个软件可能主要服务于两类人群,但是不局限于这些:

  • 二手书卖家:这些卖家可能拥有大量旧书,并希望通过孔夫子二手书采集软件来发布和展示他们的书籍信息,以便吸引潜在买家。这个软件为他们提供了一个便捷的平台,使他们能够轻松管理和展示自己的二手书库存,从而更好地销售和回收资金。

  • 二手书回收商:这些回收商可能从个人或企业回收旧书,然后再将这些书籍销售给需要的买家或进行再利用。通过使用孔夫子二手书采集软件,他们可以快速获取实时数据,了解市场动态和需求,以便更好地评估和采购二手书籍。

  • 二手书市场创业者:如果你是在校大学生,想从事二手书籍回收♻️,但是不知道市场价格,可以通过本工具筛选该系列图书在孔夫子旧书网平台的最低价格,可以一键批量操作,省心省时省力

孔夫子二手书采集软件提供了一个高效、便捷的解决方案,帮助二手书卖家更好地管理和销售二手书籍。通过实时数据采集和对接二手平台网站,轻松获取每一本书籍的出版信息,全网低价以及销售数量,及时跟进当前市场趋势,这个软件有助于提高他们的业务效率和客户的购买意愿,促进旧书市场的流通和发展。


概述

毕业前做的小玩意,今天发现居然还能继续使用,孔夫子二手书采集软件可以将您本地的ISBN全部批量查询书籍信息,并切割保存到本地文件。可查询出版社、出版时间、在售/已售数量、可查询前五本的书籍信息

支持多线程采集
在这里插入图片描述

支持质量筛选、价格排序
在这里插入图片描述

原数据预览图
Description

处理后的数据预览图
Description

部分核心逻辑

Vb工程图

新建绘制一个VB视图
在这里插入图片描述

导出UI代码
Description

数据导入与读取

def Command4_Cmd(self):
	global daoru_state
	# 打开文件选择对话框
	file_path = filedialog.askopenfilename(filetypes=[('Excel Files', '*.xlsx')])
	if file_path:
	# 加载Excel文件
	wb = load_workbook(filename=file_path)
	
	# 处理Excel文件
	# ...
	# 保存Excel文件到本地路径
	wb.save('file/output.xlsx')
	daoru_state=1
	# 提示用户导入成功
	#获取行数
	# 加载Excel文件
	wb = load_workbook(filename='file/output.xlsx')
	# 获取Sheet1工作表
	ws = wb.active
	# 获取行数
	row_count = ws.max_row
	self.Text3Var.set(row_count)

下拉框选择参数

self.style.configure('TLabel5.TLabel', anchor='w', font=('宋体', 9))
self.Label5 = Label(self.Frame4, text='价格:', style='TLabel5.TLabel')
self.Label5.place(relx=0.077, rely=0.234, relwidth=0.234, relheight=0.182)

self.style.configure('TLabel6.TLabel', anchor='w', font=('宋体', 9))
self.Label6 = Label(self.Frame4, text='品相:', style='TLabel6.TLabel')
self.Label6.place(relx=0.077, rely=0.584, relwidth=0.196, relheight=0.182)

self.Combo2List = ['默认', '价格从低到高', '价格从高到低']
self.Combo2Var = StringVar(value='默认')
self.Combo2 = Combobox(self.Frame4, text='默认', textvariable=self.Combo2Var,
values=self.Combo2List, font=('宋体', 9))
self.Combo2.place(relx=0.383, rely=0.234, relwidth=0.541, relheight=0.146)

设置线程

stop_threads = False  # 全局变量,控制线程的停止
# 总行数
total_rows = ws.max_row
# 线程数
num_threads = int(self.Text4Var.get())
# 每个线程处理的行数
rows_per_thread = math.ceil(total_rows / num_threads)
# 创建线程
threads = []
for i in range(num_threads):
# random_number = random.randint(1, )
start_row = i * rows_per_thread + 1
end_row = min((i + 1) * rows_per_thread, total_rows)
t = threading.Thread(target=process_rows,args=(start_row, end_row, table, self, order, quality, int(requests_spped)))
threads.append(t)

# 启动线程
for t in threads:
t.start()

# 将全局变量设置为False,表示线程不再执行
global stop_threads
stop_threads = False
# # 等待所有线程结束

使用方法

下载软件

下载压缩包后,解压到桌面,双击软件打开
Description

Description

授权

输入授权码123456,完成授权验证
在这里插入图片描述

导入文件

找到演示文件夹,里面有预置数据,你可以根据格式替换成自己的
在这里插入图片描述

在这里插入图片描述

等待数据处理完成

在这里插入图片描述

预览处理后的数据

中间可以随时点击停止
Description

打开文件夹

Description

Description

打开查看
Description


项目结构

[
  '    |-- api-ms-win-core-synch-l1-2-0.dll',
  '    |-- libcrypto-1_1.dll',
  '    |-- libopenblas.XWYDX2IKJW2NMTWSFYNGFUWKQU3LYTCZ.gfortran-win_amd64.dll',
  '    |-- libssl-1_1.dll',
  '    |-- _ssl.pyd',
  '    |-- _tkinter.pyd',
  '    |-- 孔夫子二手书采集.exe',
  '    |-- certifi',
  '    |   |-- cacert.pem',
  '    |   |-- py.typed',
  '    |-- charset_normalizer',
  '    |   |-- md.cp37-win_amd64.pyd',
  '    |   |-- md__mypyc.cp37-win_amd64.pyd',
  '    |-- cryptography',
  '    |   |-- hazmat',
  '    |       |-- bindings',
  '    |           |-- _rust.pyd',
  '    |-- cryptography-41.0.7.dist-info',
  '    |   |-- INSTALLER',
  '    |   |-- LICENSE',
  '    |   |-- LICENSE.APACHE',
  '    |   |-- top_level.txt',
  '    |   |-- WHEEL',
  '    |-- file',
  '    |   |-- output.xlsx',
  '    |-- lxml',
  '    |   |-- builder.cp37-win_amd64.pyd',
  '    |   |-- etree.cp37-win_amd64.pyd',
  '    |   |-- html',
  '    |   |   |-- clean.cp37-win_amd64.pyd',
  '    |   |   |-- diff.cp37-win_amd64.pyd',
  '    |   |-- isoschematron',
  '    |       |-- resources',
]

附件说明

下载地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/269482.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

unity中使用protobuf工具将proto文件转为C#实体脚本

unity中使用protobuf工具将proto文件转为C#实体脚本 介绍优点缺点Protobuf 为什么比 XML 快得多?Protobuf的EncodingProtobuf封解包的过程通常编写一个Google Protocol Buffer应用需要以下几步: Protostuff是什么Protobuf工具总结 介绍 protobuf也就是G…

设计模式--适配器模式

实验8:适配器模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解适配器模式的动机,掌握该模式的结构; 2、能够利用适配器模式解决实际问题。 [实验任务]:双向适配器 实现一个双向…

Java学习时间和日期

1 常用类 1.1 Date 表示日期 具体类 设置时间 1.2 Calendar 表示日历 抽象类 设置日历的设定日期 void set(int year,int month,int date); void set(int year,int month, int date, int hour, int minute,int second); void setTime(Date d); int get(int field)&#…

直播的内容多样性

直播,作为一种新兴的媒体形式,已经深入到我们生活的方方面面。其内容多样性是吸引观众的关键因素之一。以下是直播内容多样性的几个主要方面: 1.主题多样性:直播涵盖的主题非常广泛,包括但不限于娱乐、游戏、体育、教育、招聘、新闻、金融、…

VS2020使用MFC开发一个贪吃蛇游戏

背景: 贪吃蛇游戏 按照如下步骤实现:。初始化地图 。通过键盘控制蛇运动方向,注意重新设置运动方向操作。 。制造食物。 。让蛇移动,如果吃掉食物就重新生成一个食物,如果会死亡就break。用蛇的坐标将地图中的空格替换为 #和”将…

Druid源码阅读-DruidStatInterceptor实现

上次我们在druid-spring-boot-starter里面看到有一个DruidSpringAopConfiguration的配置类,然后引入了DruidStatInterceptor这样一个切面逻辑。今天我们就来看一下这个类的实现。 DruidStatInterceptor 这个类的包路径下入com.alibaba.druid.support.spring.stat。…

DC电源模块有哪些注意事项和使用技巧?

BOSHIDA DC电源模块有哪些注意事项和使用技巧? DC电源模块的注意事项和使用技巧包括以下几点: 1. 选择适当的电源模块:根据需要选择合适的电源模块,考虑电压、电流和功率等参数。确保模块能够满足所需的电力要求。 2. 输入电压范…

销售如何挖掘客户?有哪些方法?

在当今竞争激烈的市场环境中,客户资源的挖掘已经成为企业生存和发展的关键。销售人员需要掌握一定的技巧和方法,以有效地发掘潜在客户,提高销售业绩。以下分享一些挖掘客户的常用方法,帮助销售人员更好地开展业务。 一、了解客户需…

IP编址,IP地址介绍与子网划分方法

网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编址以及如何合理地使用IP地址来设计网络。 上层协议类型 以太网帧中的Typ…

Tailwind CSS 原子化开发初体验

Tailwind CSS 的工作原理是扫描所有 HTML 文件、JavaScript 组件以及任何模板中的 CSS 类(class)名,然后生成相应的样式代码并写入到一个静态 CSS 文件中。他快速、灵活、可靠,没有运行时负担。再也不用为了取一个 classname 类名…

GAMES101-LAB1

文章目录 一、问题总览二、作业参考2.1 get_projection_matrix()函数2.2 static bool insideTriangle()函数2.3 rasterize_triangle() 三、附件 一、问题总览 在屏幕上画出一个实心三角形,换言之,栅格化一个三角形实现并调用函数rasterize_triangle(con…

【MySQL基础】:超详细MySQL完整安装和配置教程

🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. MySQL数据库1.1 版本1.2 下载1.3 安装1.4 客户端连接 🌤️全篇总…

python使用selenium控制浏览器进行爬虫

这里以谷歌浏览器为例,需要安装一下chromedriver,其他浏览器也有相对应的driver,chromedriver下载地址:https://googlechromelabs.github.io/chrome-for-testing/ 然后是打开python环境安装一下依赖pip install selenium&#xf…

json-server实现数据Mock

json-server是一个node包,可以在不到30秒内获得零编码的完整的Mock服务实现步骤:1. 项目内安装json-server ---> npm i -D json-server2. 准备一个json文件 在根目录下(src同级)创建server文件夹,创建data.json文…

【数据结构】字符串匹配|BF算法|KMP算法|next数组的优化

字符串匹配算法是在实际工程中经常遇到的问题,也是各大公司笔试面试的常考题目,本文主要介绍BF算法(最好想到的算法,也最好实现)和KMP算法(最经典的) 一、BF算法 BF算法,即暴力(Bru…

[java] 转义字符控制台最常用快捷键

转义字符 1)\t:一个制表位,实现对齐的功能 2)\n:换行符 3) \\:一个\ 4)\":一个" 5) \:一个 6) \r:一个回车System.out.println(我亦无他AA\r唯…

Wordpress对接Lsky Pro 兰空图床插件

Wordpress对接Lsky Pro 兰空图床插件 wordpress不想存储图片到本地,访问慢,wordpress图片没有cdn想要使用图床,支持兰空自定义接口 安装教程—在wp后台选择插件zip—然后启用—设置自己图床API接口就ok了,文件全部解密&#xff0c…

pytorch 踩坑

pytorch 踩坑 在pytorch中,如果你定义了没用的组件,同样也会影响你的模型(我也不知道从哪里影响的),看一个例子 def _make_layer(self, block, planes, blocks, stride1, dilateFalse):norm_layer self._norm_layer#downsample Noneprevio…

SQL变更评审常见问题分享

SQL变更评审分享 概述 SQL变更,是我们在开发迭代中不可避免的场景,SQL变更通常是指DDL和DML语句变更,这些sql会影响到数据库表结构或具体数据,变更时如果执行到存在问题的sql脚本,会对实际应用操作难以评估的损失&…

Tg5032smn:高稳定性105℃高温

TG5032SMN是一款频率范围10MHz ~ 54MHz,具有高稳定的TCXO晶振,可与CMOS或限幅正弦输出。外部尺寸5.0 3.2 1.45mm,超小型,质地轻。该系列晶振的额定工作范围-40℃~﹢105C内可高稳定性工作,使得信号频率的误差很小。TG5032SMN与其他…