- 博客(225)
- 收藏
- 关注
原创 ‘从Scrapy到Django必须掌握(6):django表单详细解
迁移(Migration)是 Django 的 ORM 提供的数据库框架,用来将模型(Models)中的定义同步到数据库表中。如果模型发生变化(新增字段、修改字段等),迁移机制会自动检测变化,并生成操作数据库表的迁移文件。
2025-03-31 09:30:00
1287
原创 从 Scrapy 到 Django 必须掌握(5):用户模型详解2
到此为止,我们已经完成了自定义 Django 用户模型的完整流程,包括从模型定义到迁移数据库,再到确保项目中所有与用户交互的地方都适配新模型。修改 settings.py 配置自定义用户模型。继承 AbstractUser 或 AbstractBaseUser 创建新用户模型。注册到 admin.py 以便在管理后台中管理。使用 makemigrations 和 migrate 命令同步模型到数据库。更新其他依赖用户模型的部分,确保兼容性。测试模型功能,确认无误。
2025-03-31 06:15:00
580
原创 从 Scrapy 到 Django 必须掌握(5):用户模型详解1
Django 自带了一个完整的认证和授权系统,其中,用户模型是其核心组件之一。用户名、密码、电子邮件、全名等用户基本信息。用户是否活跃/验证状态。创建、更新和验证用户凭据。用户角色管理(包括权限和分组)。Django 默认提供了一个用户模型,位于 django.contrib.auth.models.User 中,可以直接使用。如果你的用户需求比较简单(如只需用户名、邮箱、密码),内置的 User 模型已经能够满足。但在实际项目中,默认的用户模型可能无法满足需求。
2025-03-30 23:35:50
976
原创 从 Scrapy 到 Django必须掌握(4):Runte路由详解
如果你从 Scrapy 过渡到 Django,必须思考数据如何从爬取到展示整合,路由起到了桥梁的作用。在后续的开发中,理解 Django 的路由、动态配置和面向 API 的设计方法将帮助你晋级为高效的 Web 开发者。
2025-03-30 15:02:25
870
原创 从 Scrapy 到 Django必须掌握(3):数据迁移详解
Django 使用强大的 ORM(对象-关系映射)功能提供了一种简单的数据库结构管理工具。从 Scrapy 到 Django 的转变,不仅涉及框架本身的学习,也需要在数据库迁移方面下功夫。通过 Django 的强大迁移工具,我们可以快速搭建和优化数据库结构。在开发初期,可以使用 SQLite 快速迭代,生产部署时迁移到 MySQL 或其他数据库。本教程提供的分步操作,旨在帮助您快速完成 SQLite 到 MySQL 的迁移,让 Django 项目运行在更高效的数据库环境中。
2025-03-29 23:52:36
673
原创 从 Scrapy 到 Django,必须掌握(2):settings 详解
Django 的 settings 是框架的核心配置模块,用于管理一个项目的全局配置。Django 项目的运行、功能扩展、安全管理依赖于一系列参数配置,这些配置项就是 settings 中的内容。当你创建一个 Django 项目时,系统会自动生成一个默认的 settings.py 文件。该文件包含了一些通用的应用配置,比如数据库连接、安装的应用、静态文件管理、模板设置等。settings.py 是整个项目的“大脑”,决定着你的项目如何运行。
2025-03-29 23:35:03
835
原创 从scrapy到Django,必须掌握(1)
Django 提供了灵活的 URL 模式,可以通过正则表达式或路径参数来实现动态路由。例如:与 Django ORM 一样,你需要先定义模型来映射数据库表。示例中假设有一个 Product 模型,包含 price 和 created_at 两个字段。# 定义数据库# 定义模型price = DecimalField() # 假设价格是一个小数created_at = DateTimeField() # 创建时间字段# 创建表(如果表不存在)
2025-03-28 19:04:01
1271
原创 阿里云轻量级服务器Ubuntu22.04.4,装mysql链接到本机navicat
⚠️ 将 你的用户名 和 你的密码 替换为你需要的用户名和密码。% 表示允许该用户从任何 IP 地址连接。如果看到 active (running),说明 MySQL 已启动。按 Ctrl+O 保存文件,然后按 Ctrl+X 退出。0.0.0.0 表示接受来自任何 IP 地址的连接。⚠️ 请将 '你的密码' 替换为你希望设置的密码。,如果配置无误,应该会提示连接成功。阿里云轻量服务器需在。
2025-03-27 06:15:00
1181
原创 js逆向,常见的navigator数据
在 JavaScript 逆向中,navigator 对象内的属性是非常重要的,因为前端页面通常通过这些属性来采集用户的环境信息。这些数据在反爬虫、检测自动化脚本(如爬虫、模拟器)或决定页面行为时经常会用到。以下是 navigator 对象中各属性的重要性以及它们的作用详细解读。
2025-03-26 06:30:00
1098
原创 深入解析urllib.parse在爬虫开发中的应用
Python标准库中的urllib.parse模块的功能及在爬虫开发中的应用。该模块包含了诸多函数,如urlparse、urlunparse、urlsplit、urljoin、urlencode等,能够方便地解析、重构和操作URL,使爬虫程序更智能高效。在实践中,我们可利用这些函数处理动态网页分页、搜索结果采集、相对路径整合等情景,从而简化开发流程。此外,文章还提及了在更复杂场景中如处理重定向、短链接、动态构建查询参数等方面的高级应用,展示了如何通过urllib.parse解决这些问题。
2025-03-26 06:15:00
821
原创 攻破tensorflow,勇创最佳agent(2)---损失(loss) 准确率(accuracy)问题
L1正则化(Lasso回归):通过在损失函数中增加权重绝对值的和作为惩罚项,从而驱使某些权重减小到零,生成稀疏解,适合特征选择.L2正则化(Ridge回归):通过增加权重平方和作为惩罚项,促使所有权重趋向较小的均匀值,而不是完全为零。它通过减少权重避免过拟合,增强模型的稳定性.这两种正则化方法可以在模型中结合使用,以提高模型的泛化能力和抗干扰能力。数据表示:模型在训练过程中的表现,loss和val_loss越小,accuracy和val_accuracy越高,说明模型越来越好。
2025-03-25 18:21:06
1256
原创 攻破tensorflow,勇创最佳agent(1)---学习率learning_rate问题
学习率是决定在每次更新模型参数时的步长大小的变量。简而言之,学习率定义了优化算法在每次迭代中根据梯度(损失函数对参数的偏导数)更新权重的速度和幅度。其数学表达式通常为:(反正我看不懂,所以我就知道,这个学习率就是: 每次加一点,加到效果最佳;什么叫每次加一点?你失败了,就要总结,总结就要学习,找到经验再走一点;找到个谷底,再走到山峰;
2025-03-25 17:42:24
1064
原创 爬虫工程师---如何用charles把scrapy的爬虫监控起来调试
想法是,通过charles挂上'魔法工具',然后跑代码的时候,实时监控每一个访问的请求状态和返回是个啥?原理其实和挂手机等一样的;但是,我想说的,让scrapy挂上charles...
2024-05-17 18:09:52
1065
原创 爬虫工作量由小到大的思维转变---<第七十六章 > Scrapy爬虫引入Item Drop机制的概念及其价值
在Scrapy框架中,DropItem机制提供了一种有效的数据过滤和控制方式。具体来说,它是一种基于条件的数据丢弃机制,用于在数据处理流程中筛选出不需要的Item。当爬虫抓取到数据后,数据会被封装成Item的形式,在数据流经Scrapy的处理流程时,我们可以根据不同的需求对这些Item进行检查,并决定哪些Item应当继续被处理,哪些应当被丢弃。在技术实现上,DropItem是通过在Item Pipeline中抛出DropItem异常来完成的。
2024-05-16 19:44:14
1632
原创 向爬虫而生---Redis 实战篇1 动态Redis连接管理在Python中的实践
随着互联网技术的飞速发展,数据处理和存储在Web开发和大数据处理领域中的重要性日益凸显。特别是对于如Redis这样的内存数据结构存储系统而言,其在处理大量数据时显得尤为关键。正因如此,对于管理与Redis实例连接的需求也随之增长,尤其是在应用规模不断拓展、数据量日益增加的今天,单一的Redis实例已经难以满足复杂的数据处理需求。在这种情况下,"动态Redis连接管理"成为了解决这一问题的重要手段。通过动态连接管理,我们可以根据实时的应用需求和资源状态,灵活地创建、复用或关闭与Redis实例的连接。
2024-05-16 06:30:00
1334
原创 爬虫工作量由小到大的思维转变---<第七十五章 > Scrapy爬虫回调函数在请求重试中的应用研究
在Scrapy框架中,中间件重试机制是指系统自带的一个功能,它能在请求因为某些原因失败时自动进行重试。比如说,如果因为网络问题或者服务器暂时不可用导致请求失败,Scrapy会根据设定的重试次数和重试间隔自动重新发起请求。使用这个机制,你只需要在项目的设置里做些简单的配置,比如设置最大重试次数,而无需在代码中明确编写重试逻辑。想象我们现在面对的是一个在线图书商城,该商城的书评信息是通过动态加载的方式展现的,而且每次只能通过修改POST请求的参数来获取不同页码的书评数据。
2024-05-14 15:25:34
1438
5
原创 爬虫工作量由小到大的思维转变---<第七十四章 > Scrapy爬虫关闭方法(close)的机制及其在爬虫优化中的重要性
Scrapy,这个名字在数据提取界就如同波音747在航空业的地位一样,是数据提取领域的巨头之一。想象一下,Scrapy就像一架精密的飞机,在广阔的互联网空间中进行着数据的搜集之旅。而在这架飞机中,爬虫(Spider)便是执行任务的飞行员,负责确切的导航,把握方向,搜寻和采集数据。飞机从起飞到降落,要经过起飞、飞行、降落三个阶段,而Scrapy爬虫的生命周期也大体相似。
2024-05-14 07:00:00
1036
原创 爬虫工作量由小到大的思维转变---<第七十三章 > Scrapy爬虫详解一下HTTPERROE的问题
当status在【200,300】内的时候,直接返回(无异常);当status开始出现问题的时候,看你是否设置允许状态码;--- 在spider里面,发送请求的时候会在mata里面带着或者-->如果是all,表示所有的状态码都不会引发httpError的问题;而handle_httpstatus_list则是需要在集合里面设置对应允许的一些状态码;--- 也可以直接在setting里面直接进行的设置;(如图)
2024-05-13 07:30:00
975
原创 github-push遇到的Failed to connect to 127.0.0.1 port 1081 after 2069 ms: Couldn‘t connect to server
新开了个项目,在进行推送的时候,忽然出现这个问题:查阅很多人写的,都不得法;觉得需要从本质上解决一下,所以记录下来;
2024-05-13 07:30:00
562
1
原创 抓包证书安装到安卓7.0+手机
首先理解一下,这个不只是证书到浏览器,而是抓包证书到安卓7.0+手机上的文章;还有一点区分,在浏览器上装的证书,只是让抓包工具可以抓取手机浏览器的包,而不是抓取手机app上的包;如果你的证书只是简单的在浏览器下进行安装,那么你的手机app是走不了代理网络的;因此,本章也就是继续,进行深一步的前期步骤!
2024-05-05 19:47:02
1766
原创 Fiddler工具的操作和功能时-----定位到步骤图(助力抓包)
我们深入探究了Fiddler工具中关键功能的操作方法和作用。首先,我们探讨了过滤器和断点调试功能,这些功能使用户能够根据特定条件过滤请求和响应数据,并在请求过程中暂停以检查数据,从而有针对性地进行网络调试和分析。接着,我们详细介绍了Fiddler中的自动响应和Composer工具,这些功能允许用户模拟服务器响应、手动创建和发送自定义的HTTP请求,以进行测试和验证应用程序的网络交互。通过合理使用这些功能,开发人员可以更高效地进行网络调试,优化应用程序性能,提升用户体验。
2024-04-14 20:57:07
1168
原创 爬虫工作量由小到大的思维转变---<第七十二章 > Scrapy爬虫中间件和下载中间件的不同之处:响应处理方式的比较(2)
位于请求和响应之间的关键位置,用于干预爬虫的逻辑层面,可根据特定爬虫或请求选择性处理响应,提高数据处理的准确性和灵活性。处理全局性的请求和响应,主要用于在请求发出和响应返回之间进行统一处理,可统一处理所有请求的响应内容,提高整体系统的效率。爬虫中间件和下载中间件在处理方式上有明显差异,根据实际需求来选择合适的中间件类型将更有利于优化数据采集和处理流程。合理利用这两种中间件,开发者可以更好地管理和处理爬虫系统的数据,提高爬取效率、灵活性和稳定性,从而实现更有效的数据采集和处理目标。
2024-04-14 19:06:29
1482
原创 爬虫工作量由小到大的思维转变---<第七十一章 > Scrapy爬虫中间件和下载中间件的不同之处:响应处理方式的比较
在本文中,我们深入探讨了爬虫中间件与下载中间件在接收响应方面的不同之处。爬虫中间件针对特定爬虫或请求进行响应处理,具有灵活性和个性化特点;而下载中间件则全局性地处理所有请求和响应内容,实现统一的处理策略。爬虫中间件更注重个性化处理响应内容与逻辑,而下载中间件更关注对所有请求的全局性响应处理。通过代码示例,我们展示了两种中间件的不同运作方式和应用场景。深入了解这些差异有助于优化爬虫的数据处理效率和质量,提升开发者对Scrapy框架的应用技能。
2024-04-14 18:53:04
1266
原创 爬虫之数据神器10---Peewee实现ORM的核心原理
在Peewee中,模型的定义是通过模型元类(ModelMetaclass)实现的。Peewee利用Python的元类机制,在模型类定义中使用特殊的元类来创建模型类。下面我们将详细介绍模型元类的实现原理。有了模型元类和字段描述符的支持,我们可以定义模型类了。在这个示例中,我们定义了一个名为User的模型类。通过在模型类中定义字段,我们可以指定每个字段的数据类型和验证规则。例如,id字段使用username字段使用CharFieldemail字段使用EmailFieldcreated_at字段使用。
2024-04-09 22:28:55
1007
原创 Fiddle配置代理,保手机模拟器访问外部网络
fiddle连接mumu模拟器到adb连接成功,保姆级_fiddler抓包模拟器-优快云博客在现代的移动应用程序开发中,模拟器成为了一个必不可少的工具。而Mumu模拟器是一个非常受欢迎的选择,它提供了稳定的性能和丰富的功能。然而,要在模拟器上进行调试和测试,你需要将它与ADB连接起来。首先,我将解释如何设置Fiddle,并确保你的Mumu模拟器和ADB都正确地安装并运行。然后,我将带领你一步步完成连接的过程,包括配置ADB连接选项和启用设备调试模式。
2024-04-09 06:30:00
929
原创 爬虫之数据神器9---Peewee集成Django/Flask框架详解
对于简单项目或原型开发,Django ORM提供了全面的功能和便利的操作。高性能和定制需求的场景中,Peewee是一个更轻量级和灵活的选择。在需要连接多个数据库的情况下,可以根据具体需求选择合适的ORM框架进行连接。通过合理分配ORM的使用场景,我们可以根据项目的规模、复杂性和性能需求选择合适的工具,并编写高效、优雅的代码。
2024-04-08 07:00:00
1156
原创 爬虫之数据神器8---Peewee性能优化技巧指南(2)
这些是一些Peewee性能优化的技巧,通过使用缓存、索引、批量插入、预先加载关联数据和原生查询,可以显著提高Peewee应用程序的性能和响应能力。根据具体的场景和需求,选择适合的优化方法,能有效地提升应用程序的性能。通过使用批量插入和更新操作,以及正确管理事务,可以提高数据库操作的性能、稳定性和一致性。对于频繁的数据库操作和需要保证一致性的操作,建议使用这些技巧来优化Peewee应用程序。Peewee中的缓存优化和批量操作与事务管理技巧。
2024-04-08 06:30:00
1317
原创 爬虫之数据神器7---Peewee性能优化技巧指南(1)
用到以上的功能,你将能够明显提升Peewee应用程序的查询性能,使其更高效地处理大型数据集和高并发负载。无论是选择合适的查询方法,优化查询语句,还是利用延迟加载和原生SQL语句,都可以为你的应用程序带来显著的性能提升。本文介绍了Peewee的性能优化技巧,主要集中在查询性能和数据库连接管理两个方面。在查询性能方面,选择适当的查询方法、优化查询语句、利用延迟加载和使用原生SQL语句进行复杂查询等技巧。这些技巧通过提高查询效率、减少数据库访问次数和数据加载量等方式,显著提升了应用程序的查询性能。
2024-04-06 07:00:00
2072
2
原创 爬虫之数据神器6---Peewee数据迁移最佳实践
Peewee提供了一个数据库迁移的解决方案 - peewee_migrate。它是一个轻量级的迁移插件,可以帮助我们进行Peewee模型的平滑迁移。使用peewee_migrate,我们只需要编写迁移文件描述每个版本的模型变更,它会自动帮我们计算出需要执行的SQL语句,来逐步升级或回滚数据库。peewee_migrate的主要特点包括:简单的迁移语法,易于上手自动生成执行迁移需要的SQL支持增量式小幅迁移可以回滚到任意版本支持MySQL、Postgres等多种数据库# 创建迁移历史表。
2024-04-06 06:30:00
4086
原创 爬虫之数据神器5---Peewee数据库关系映射实践
这篇文章通过丰富的案例,全面介绍了Python ORM框架Peewee的高级用法。文章首先介绍了模型的CRUD操作,以及使用查询表达式实现复杂查询的方法。然后讲解了Peewee的高级查询功能,如使用Q对象进行组合查询,使用prefetch提高关联查询效率等。接着文章讲解了模型之间的关联操作,讲解非常透彻。最后两章讲解了Peewee的事务管理以及优化手段。----比如使用Q对象和prefetch可以写出更优雅高效的代码,事务可以保证数据操作的原子性,添加索引、优化字段等可以提升实际效率。
2024-04-05 16:05:28
1198
原创 爬虫之数据神器4---Peewee事务管理和连接池用法
事务是作为一个逻辑单元执行的一系列数据库操作的集合。它们具有原子性、一致性、隔离性和持久性的特性,通常简称为ACID特性。原子性(Atomicity)确保事务中的所有操作要么全部成功,要么全部失败。如果任何一个操作失败,整个事务将被回滚到起始点,以保持数据的一致性。一致性(Consistency)确保在事务开始之前和之后,数据库中的数据保持一致状态。这意味着在一个事务中对数据的任何修改都必须满足数据库的约束和规则。隔离性(Isolation)确保在多个并发事务同时执行时,每个事务都被视为独立的。
2024-04-05 15:31:02
1734
原创 爬虫之数据神器3---Peewee模型定义详解
在现代软件开发中,数据是不可或缺的一部分,而对象关系映射(ORM)技术的出现使得与数据库交互变得更加简洁和高效。ORM技术将数据库表和数据记录映射为面向对象的模型和实例,使开发者能够通过编写代码来操作数据库,而无需直接使用SQL语句。ORM的关键思想是将数据库操作转化为面向对象的操作,即将数据库中的表映射为类,表中的字段映射为类中的属性,以及数据库中的记录映射为类的实例。这样,开发者可以通过编写简洁、易于理解的面向对象的代码来进行数据的增删改查。
2024-04-04 07:30:00
1018
原创 爬虫之数据神器2---Peewee新手入门指南(2)
Peewee是一个基于Python的轻量级ORM(对象关系映射)库,用于简化与关系型数据库的交互。该文章介绍了Peewee查询语句的高级用法,包括filter语句的使用、查询表达式和函数、Q对象进行复杂查询以及查询优化技巧。首先,使用filter()方法可以过滤数据库中的数据,返回符合条件的记录集。通过查询表达式和函数,可以实现字段的比较、逻辑关系和字符串操作,以及进行聚合统计。对于复杂查询,可以使用Q对象来组合多个查询条件,构建更灵活的查询语句。
2024-04-04 06:30:00
1482
原创 爬虫之数据神器1---Peewee新手入门指南(1)
在Peewee中,我们使用Python类来定义数据库模型。每个模型类对应数据库中的一个表。我们可以通过继承Model类来定义模型,并在类的属性中定义表的字段。# 建立数据库连接在上面的例子中,我们定义了一个名为Person的模型类,它拥有name和age两个字段,类型分别为CharField和。我们还通过设置Meta类的database属性来指定模型所使用的数据库连接。关系数据库的魅力就在于可以定义模型之间的关联。在Peewee中,我们可以通过外键、一对多等方式定义模型关系。
2024-04-03 10:12:27
1222
原创 爬虫工作量由小到大的思维转变---<第七十章 > Scrapy扩展和中间件模块中的异常
在Scrapy框架中,扩展和中间件是非常重要的两个组件,它们提供了强大的功能来扩展和自定义Scrapy的功能。扩展主要用于全局性地扩展和操作Scrapy,而中间件更多的是基于组件的扩展。由于扩展和中间件将注入到Scrapy内核的不同部分,它们也会引入新的异常类型。这些异常如果不加以妥善处理,可能会导致爬虫意外中断。因此,了解并处理扩展和中间件中的异常类型,是开发稳定的Scrapy爬虫的重要一环。
2024-04-03 06:30:00
1172
原创 爬虫工作量由小到大的思维转变---<第六十九章 > Scrapy.crawler模块中的异常
Scrapy.crawler模块是Scrapy框架的核心模块之一,它承担了管理和控制整个爬虫的生命周期的重要任务。该模块提供了丰富的功能和工具,以便可以轻松配置和运行爬虫、处理请求和响应、解析数据、生成输出等。下面将介绍Scrapy.crawler模块的一些重要功能。爬虫配置和管理: Scrapy.crawler模块提供了函数和类,用于加载和管理爬虫的配置。开发者可以通过这些工具来指定爬虫的运行参数,包括初始URL、请求头、中间件、下载器、解析规则等。它还支持多爬虫同时运行和操作。
2024-04-02 15:05:07
1051
原创 爬虫工作量由小到大的思维转变---<第六十八章 > scrapy.utils模块中的异常
Scrapy中的utils.log模块提供了许多用于处理日志的工具和类。通过该模块,可以自定义日志格式、输出日志到文件或其他位置,以及实现发送日志到邮件等功能。Scrapy.utils.request模块为Scrapy框架提供了处理请求的工具和类。它包括一些常见的异常类以及Request类,用于构造和定制请求。这个模块允许我们处理各种与请求相关的问题,如设置请求头信息、处理异常情况等。Scrapy.utils.response模块用于处理响应相关的操作和异常。它提供了一些用于处理和提取响应内容的工具和类。
2024-04-02 09:52:33
1188
原创 爬虫工作量由小到大的思维转变---<第六十七章 > Scrapy异常处理中的核心异常类型
DropItem异常是在Spider和Item Pipeline中过滤item的强大工具。您可以根据自定义规则使用这个异常来删除无效的item,从而清洗数据并获得符合要求的最终结果。假设你正在编写一个爬虫来收集电影信息,并且有一个规则要求电影的评分必须高于7分才能进行爬取。为了实现这个过滤功能,可以在Spider中间件中使用IgnoreRequest异常。首先,我们创建一个名为的Spider中间件,并在其方法中实现请求过滤规则。
2024-04-01 15:22:40
1199
文章提取关键词,分词器(针对中文)-textrank4ch(需要改动),2023年10月12日
2023-10-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人