详情

全站展示位

彻底搞懂Scrapy的中间件(一) | 谢乾坤 | Kingname

中间件(Middleware)中间件是Scrapy里面的一个核心概念。使用中间件可以在爬虫的请求发起之前或者请求返回之后对数据进行定制化修改,从而开发出适应不同情况的爬虫。 “中间件”这个中文名字和前面章节讲到的“中间人”只有一字之差。它们做的事情确实也非常相似。中间件和中间人都能在中途劫持数据,做一些修改再把数据传递出去。不同点在于,中间件是开发者主动加进去的组件,而中间人是被动的,一般是恶意地。。。

推荐

分类: 杂念 | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

如何正确使用日志Log | 谢乾坤 | Kingname

文章首发地址:设置好以后,运行程序就看到一个黑色窗口一闪而过。或者有些人一开始看到程序能正常登陆邮箱,

| 谢乾坤 | Kingname

公众号[未闻Code]日更干货,欢迎扫码关注。 =========2018年10月以后,本页面停更,所有内容转移到微信公众号。========= 2018.09由于Python是动态语言,不需要为变量提前设定类型,这为开发提供便捷的同时也带来了一些麻烦。 有这样一段代码: 123456class Robot(object): def __init__(self): se

标签: 博弈论 | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

心灵鸡汤

孩子高考 家长牵挂

文/洛水无痕

儿子参加高考那年,前一天晚上,我和他爸已经把该带的文具、证件等都准备好了,早上起来后又仔细检查了一遍,才送儿子到考场门口。看着他和同学说笑着进了考场,我们才离开。

上午考语文,我担心儿子考不好,回到家后六神无主,坐卧不安。下午考数学,这是儿子的强项,我很放心,可他爸又担心起来,和我上午的症状一模一样。一天下来,儿子到家该吃吃、该睡睡,哪知道父母受尽了折磨。

第二天下午,英语考试结束的铃声响后,孩子们走出考场,家长们笑着迎上去,到处是关切的问询声,有的父母还给孩子送上大捧鲜花。

遥想20多年前我参加高考时,带队老师带着我们一大帮通过预选的考生,提前坐长途汽车到县城,找个旅社住下,吃大锅饭,住六人间。两个晚上我都是吃过晚饭,在县城里散散步,然后回到旅社呼呼大睡。第一天考完后,在县城的二哥来看我,简单问了几句就走了。看着别人的父母对考生嘘寒问暖,我当时还真有些怪父母不把我参加高考当回事。

后来听母亲说,高考结束后,她心里着急,还特意跑到集会上找“算命仙儿”给我算了一卦。原来,母亲以这种方式牵挂我参加高考。

又到一年高考时,回想我和儿子参加高考的情景,相似之中又有不同,但天下父母牵挂儿女的心是一样的。

列表展示

主站展示位

标签: Scrapy | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

一日一技:在macOS上查看任意软件的调试信息 | 谢乾坤 | Kingname

如果你使用macOS,想看上面某个软件使用什么技术开发的。那么你可以使用这个方法。它对普通人来说可能没什么用。如果你本来就做macOS软件开发,那么这个方法可能会很有用。 首先,我们知道macOS上面,安装的软件一般都放在/Applications/或者~/Applications文件夹里面。这里我以阿里网盘为例。

一日一技:setup.py里面的两个小技巧 | 谢乾坤 | Kingname

当你要自己发布一个Python包时,下面这两个小技巧可能对你有用。 pip安装后执行代码今天公众号粉丝群里面,有同学提问: 这个同学自己开发了一个Python包,这个包在使用pip安装时,会产生一些临时文件。他希望安装完成以后,能够自动清理这些临时文件。

分类: Gne | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

一日一技:怎么中文也属于字母? | 谢乾坤 | Kingname

我最近在使用一个第三方库,叫做RapidFuzz。它有一个工具函数,叫做utils.default_process,在官方文档里面,是这样介绍的: 红色方框里面说,这个函数可以移除所有的非alphanumeric字符。如果我们使用翻译软件,会发现alphanumeric的意思是字母和数字。如下图所示: 因此,我想当然的觉得,这个功能函数,只会保留26个英文字母的大小写加上10个数字,一共62个字

标签: LLM | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

标签: Next.js | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

一日一技:Scrapy最新版不兼容scrapy_redis的问题 | 谢乾坤 | Kingname

有不少同学在写爬虫时,会使用Scrapy + scrapy_redis实现分布式爬虫。不过scrapy_redis最近几年更新已经越来越少,有一种廉颇老矣的感觉。Scrapy的很多更新,scrapy_redis已经跟不上了。

一日一技:警告但不禁止,遗留代码的优化策略 | 谢乾坤 | Kingname

在之前的多篇文章中,我都反复告诫大家,不要滥用字典来传大量数据。因为当你的函数收到一个字典的时候,你根本不知道这个字典里面有哪些Key,你必须有一层一层往上看,找到所有尝试往字典里面添加新Key的地方,你才能知道它总共有哪些Key。 但是,在正常公司项目中,我们可能会需要维护一些历史遗留代码。代码规模大,函数调用层级非常深。并且之前的人已经使用字典来传递了大量的数据。 短时间内,我们没有办法直接把

一日一技:不走常规路线,列表页1秒搞定 | 谢乾坤 | Kingname

最近遇到一个需求,需要抓取Docusaurus上面的全部文档。如下图所示: 抓文档的正文非常简单,使用GNE高级版,只要有URL直接就能抓取下来,如下图所示: 但现在的问题是,我怎么获取到每一篇文档的URL?

一日一技:从Pandas DataFrame两个小技巧 | 谢乾坤 | Kingname

今天我从网上下载了一批数据。这些数据是Excel格式,我需要把他们转移到MySQL中。这是一个非常简单的需求。

一日一技:如何同时使用多个GPT的API Key? | 谢乾坤 | Kingname

相信很多同学或多或少都在Python中使用过GPT API,通过Python安装openai库,来调用GPT模型。 OpenAI官方文档中给出了一个示例,如下图所示: 如果你只有一个API账号,那么你可能不觉得这样写有什么问题。但如果你想同时使用两个账号怎么办?

助力大语言模型训练,无压力爬取六百亿网页 | 谢乾坤 | Kingname

ChatGPT一炮而红,让国内很多公司开始做大语言模型。然后他们很快就遇到了第一个问题,训练数据怎么来。有些公司去买数据,有些公司招聘爬虫工程师。但如果现在才开发爬虫,那恐怕已经来不及了。 即使爬虫工程师非常厉害,可以破解任意反爬虫机制,可以让爬虫跑满网络带宽,可是要训练出GPT-3这种规模的大语言模型,这个数据并不是一天两天就能爬完的。并且,有很多老网站的数据,早就被删除了,爬虫想爬也爬不到。

标签: PDF | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

一日一技:爬虫如何解析JavaScript Object? | 谢乾坤 | Kingname

我们在开发爬虫的过程中,经常发现有一些网站,会直接把数据放到HTML中的<script>标签里面。这些数据长得有点像JSON,但又有差异,如下图所示: 这种格式,我们叫做JavaScript Object。长得很像Python的字典,又很像是JSON。但是这个格式在Python里面,无论直接当字典解析,还是当JSON解析,都会报错,如下图所示: 遇到这种情况,有同学准备使用正则表达

一日一技:从PDF完美提取表格 | 谢乾坤 | Kingname

在之前很长一段时间,从PDF文件中提取表格都是一个老大难的问题。无论你使用的是PyPDF2还是其他什么第三方库,提取出来的表格都会变成纯文本,难以二次利用。 但现在好消息来了,专业处理PDF的第三方库PyMuPDF升级到了1.23.0,已经支持完美提取PDF中的表格了。还可以把表格转换为Pandas的DataFrame供你分析。

一日一技:Python装饰器的执行顺序 | 谢乾坤 | Kingname

说到Python装饰器的执行顺序,有很多半吊子张口就来: 靠近函数名的装饰器先执行,远离函数名的装饰器后执行。 这种说法是不准确的。

标签: 语音转文字 | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

标签: 装饰器 | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

标签: 人工智能 | 谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

博客寄语:

    这个博客已经连续更新超过8年。

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。