
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
用于防篡改。服务器端收到Cookie后,会做同样的计算,对比哈希值是否一致,然后检查时间戳差值。
想象一下面包店的场景:面包师(生产者)不停地制作面包,放入柜台(缓冲区),顾客(消费者)从柜台取走面包。如果面包做得太快,柜台堆满,面包师就得等待;如果顾客吃得太多,柜台空了,顾客就得等待。在爬虫世界里,生产者负责生产任务(URL链接),消费者负责处理任务(请求网页、解析数据、持久化存储)。两者通过一个线程安全的队列进行解耦。为什么要解耦?如果没有队列,生产者必须等待消费者完成当前任务才能生产下一
大概三个月前,我接了一个有点头疼的需求:需要从某电商平台抓取大约50万件商品的价格和库存信息。如果按照传统方式,用requests库写一个循环,逐个请求,每秒钟顶多能处理3-5个请求。算下来,光是网络IO等待时间就要花掉将近30个小时。更糟糕的是,目标网站对单IP的并发连接数虽然限制不算严格,但对请求间隔很敏感——如果请求间隔不固定,很容易触发反爬机制。我需要一种既能提高抓取速度,又能灵活控制请求
做爬虫的朋友应该都有过这种经历:兴致勃勃写好的爬虫,跑起来没几分钟,突然发现返回的数据不对劲了——要么是跳转到验证码页面,要么直接给你返回403,更狠的网站直接把你IP拉进小黑屋。说实话,刚开始做爬虫那会儿,我一度怀疑网站管理员是不是24小时盯着日志,就等着封我的IP。后来才明白,根本不需要人工盯着,人家反爬系统比你想象的要智能得多。你想想,一个正常人怎么可能在0.1秒内连续访问几十个页面?怎么可
快递100是国内最大的快递查询平台,支持超过1000家快递公司的查询。他们的API分为免费版和付费版,免费版每天有1000次的查询额度,对我们个人使用来说完全够了。注册过程很简单:打开快递100开放平台(用手机号注册账号在控制台创建一个应用,获取授权key这里我要吐槽一下,快递100的文档写得比较混乱,有些接口的说明还是好几年前的。但好在核心功能一直稳定,这也是我选择它的原因。
数据进来之后不能直接存,因为GitHub返回的JSON字段很多,有些字段可能缺失。我用Pydantic来定义严格的数据模型。新建models.pypython"""GitHub用户信息"""id: intlogin: strurl: str"""仓库信息"""id: intname: strurl: str@property@property"""Push事件的payload结构"""size:
后来我试了CNN,准确率能到95%+,但问题也明显:要GPU、要装tensorflow或pytorch,环境一不小心就炸。对于简单的字母验证码(比如4位、纯大写或大小写混合、背景干扰不多),杀鸡其实用不上牛刀。这个老古董,在这类场景里意外好使。不需要深度学习那一堆依赖,纯Python + numpy + opencv就能跑,甚至可以在树莓派上训练。缺点是字符必须是,粘连的那种不行。但绝大多数简单的
在深度学习和大语言模型蓬勃发展的今天,验证码识别依然是自动化测试、数据采集和反爬虫研究中绕不开的课题。无论是登录网站、批量注册账号,还是测试系统的安全性,我们都需要大量标注好的验证码样本来训练识别模型。。市面上的公开验证码数据集要么收费昂贵,要么类别单一,要么早已被各大平台的防御系统淘汰。于是,自己动手采集并标注验证码,成了绝大多数开发者和研究者的必经之路。我会从需求分析、技术选型、代码实现到踩坑
打码平台本质是一种“人工+AI”混合的服务。当你把验证码图片提交给平台,平台先用OCR模型识别,如果置信度不够,会转给后台的真实人工打码员。你支付少量费用(通常几分钱到一毛钱),获得识别结果。超级鹰在这方面做得非常出色。它支持:英文数字验证码(最多20位)中文汉字验证码中英文混合验证码复杂计算题验证码坐标多点识别(如滑块拼图、点击图中所有的某类物体)对于爬虫开发者来说,最常用的是1902题号(中英
百度/阿里/腾讯OCR API:识别率高,但要花钱,而且有QPS限制EasyOCR:支持80多种语言,但依赖深度学习模型,GPU内存占用大PaddleOCR:百度出品,中文效果好,但模型文件几百兆Tesseract:开源免费,轻量级,Google维护,对印刷体数字识别足够用我们选——它是Tesseract的Python封装。轻量、免费、响应快,一台普通服务器每秒能处理几十张验证码,完全满足中小规模







