孔夫子二手书采集

news2024/9/26 1:27:19

文章目录

  • 项目演示
    • 软件采集单本数据
    • 网页搜索数据对比
  • 使用场景
  • 概述
  • 部分核心逻辑
    • 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',
]

附件说明

下载地址

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OAuth2.0入门(01)

目录 引言1. OAuth2.0基础概念1.1 授权与认证的区别1.2 OAuth2.0核心角色1.3 OAuth2.0授权类型授权码模式简化(隐式)模式密码模式客户端模式 2. OAuth2.0工作流程2.1 授权流程2.2 令牌获取流程 总结 引言 OAuth2.0是当前互联网领域中广泛使用的授权框架,它为用户资…

Unity向量按照某一点进行旋转

Unity向量按照某一点进行旋转 一、unity的旋转二、向量按照原点进行旋转注意案例 三、向量按照指定位置进行旋转案例 一、unity的旋转 首先要知道一点就是在Unity的旋转中使用过四元数进行旋转的,如果对一个物体的rotation直接赋值你会发现结果不是你最终想要的结果…

TCP:IP原理

TCP/IP 原理 TCP/IP 协议不是 TCP 和 IP 这两个协议的合称,而是指因特网整个 TCP/IP 协议族。从协议分层模型方面来讲,TCP/IP 由四个层次组成:网络接口层、网络层、传输层、应用层。 网络访问层(Network Access Layer) 网络访问层(Network …

目标检测与测距算法在极端天气下的应用

引言: 在现代社会中,极端天气条件对人们的生活和工作带来了很大的挑战。对于一些特定领域,如交通运输、安全监控等,准确的目标检测与测距算法在极端天气下尤为重要。本文将分点概述极端天气下目标检测与测距算法的关键问题及解决办…

《Nature》预测 2024 科技大事:GPT-5预计明年发布等

《Nature》杂志近日盘点了 2024 年值得关注的科学事件,包括 GPT-5 与新一代 AlphaFold、超算 Jupiter、探索月球任务、生产「超级蚊子」、朝向星辰大海、试验下一代新冠疫苗、照亮暗物质、意识之辩第二回合、应对气候变化。 今年以来,以 ChatGPT 为代表…

python的import功能,你需要了解的导入机制

1 基本概念 概念 解释 import 即导入,方式就是在import位置将代码文件拷贝过去。 模块(module) python中一个.py文件定义为一个模块 常用的几种模块导入方式: import module_nameimport module_name.function_nameimport mod…

springboot+vue项目如何在linux上部署

在linux上部署项目,是我们实训项目作业的最后一步,此时我们的项目编码测试已经完成,接下来就需要在服务器上部署上线,那么如何部署上线,接下来我会在虚拟机上的CentOS7系统上实现部署, 一.下载JDK 因为我…

sqlilabs第三十二三十三关

Less-32(GET - Bypass custom filter adding slashes to dangerous chars) 手工注入 由 宽字符注入可知payload 成功触发报错 http://192.168.21.149/Less-32/ ?id1%df 要写字符串的话直接吧字符串变成ascii码 注意16进制的表示方式 自动注入 sqlmap -u http:…

python定义代码块的符号,python中代码块所属关系

大家好,小编来为大家解答以下问题,python中代码块所属关系的语法,python定义代码块的符号,今天让我们一起来看看吧! 本文章主要用于平时Python3学习和使用中积累的比较常用的代码块。代码都是经过验证可行的python简单…

电脑提示vcruntime140.dll找不到怎么办,解决vcruntime140.dll丢失的方法

当我们在使用Windows系统运行特定程序或软件的时候,有时会遇到"vcruntime140.dll丢失"的问题。这个动态链接库(DLL)文件在程序的正常运行中起着关键的作用,因此出现该错误往往会导致程序无法启动或运行异常。在本文中&a…

测试老鸟,对软件测试行业的看法,“我“测试人何去何从?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 首先一个软件做出…

css的定位

为什么需要定位? 场景: 某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子当我们滚动窗口的时候,盒子是固定屏幕某个位置的。 这二个需求,使用标准流和浮动的方式是无法实现的或者是不容易实现,所以…

华为OD机试 - 学生方阵 - 矩阵(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出 四、解题思路1、题目解析2、解体思路 五、Java算法源码再重新读一遍题目,看看能否优化一下~ 六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导…

【Midjourney】登录和使用:详细指南!

关于Midjourney 链接: Midjourney Midjourney 是一项使用人工智能自动生成图像的服务。你可以通过向人工智能发出称为“提示”的指令来生成你想要的图像。例如,可以生成风景、人物、建筑等各种图像,还可以调整图像风格(绘画、插画风格、摄影风…

Certum的EV增强型证书

EV增强型https证书是一种特别的数字证书,只有这一款域名数字证书可以直接在地址栏显示企业名称(支持中文名称)。因此,很多企业为了提升企业的品牌形象,向客户展示企业的专业性和可靠性,往往会选择这种类型的数字证书。今天就随SSL…

基于深度学习的安全帽检测识别系统(含UI界面、yolov5、Python代码、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov5 yolov5主要包含以下几种创新:         1. 添加注意力机制(SE、CBAM、CA等)         2. 修改可变形卷积(DySnake-主…

acwing linux docker教程

终章 听着名字还挺伤感的哈哈哈其实是Linux的终章,感谢大家这段时间的阅读,这段使时间我为了给大家清楚的讲解一下Linux自己也是很认真的学习了一遍,自己提升了也不少。其实最近学校里面是讲了Linux和windows server 2019搭载DNS、web、ftp服…

【代码随想录】刷题笔记Day37

前言 试一试早上晚上固定时间刷题会不会效率and养成习惯 135. 分发糖果 - 力扣(LeetCode) 两边一起判断容易顾此失彼从左到右遍历,只比较右比左大的情况,局部and全局:右比左大从右到左遍历,只比较左比右…

【已解决】使用fastjson返回给echarts的时候怎么不忽略null值?

问题复现: 在使用fastjson的将对象序列化成json字符串的时候,如果对象属性为null的话,会被忽略掉的。有时候,这些null值还是很有用的。比如我们在使用echarts的时候,返回给前端就不能因为null而忽略,如果忽…