详情

全站展示位

你经常看到却经常忽视的__init__.py有什么用? | 谢乾坤 | Kingname

Python 初学者在阅读一些 Python 开源项目时,常常会看到一个叫做__init__.py的文件。下图为著名的第三方库requests的源代码: 那么__init__.py有什么用呢?本文介绍它的两个用途。。。。

推荐

标签: 正则表达式 | 谢乾坤 | Kingname

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

标签: MongoDB | 谢乾坤 | Kingname

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

只要5分钟,创建一个隧道代理 | 谢乾坤 | Kingname

什么是隧道代理?我们来看下面这张截图: 所谓隧道代理,就是一个能帮你自动更换代理 IP 的代理服务。在你的代码里面,你只需要把一个入口代理地址写死,然后正常发起请求,而目标服务器接收到的请求,每一次都是不同的代理地址。 在某代理网站上,隧道代理50并发每秒的价格是4000元/月: 而常规的,先请求接口拿到一批代理 IP,再选一个发起请求的原始代理服务器,一个月价格才600多元: 所以,如果我

4种方法解决MongoDB游标超时的问题 | 谢乾坤 | Kingname

当我们使用Python从MongoDB里面读取数据时,可能会这样写代码: 123456import pymongohandler = pymongo.MongoClient().db.colfor row in handler.find(): parse_data(row) 短短4行代码,读取MongoDB里面的每一行数据,然后传入parse_data做处理。处理完成以后再读取下一行。逻辑清

心灵鸡汤

小故事、博士

  有一个博士分到一家研究所,成为学历最高的一个人。

  有一天他到单位后面的小池塘去钓鱼,正好正副所长在他的一左一右,也在钓鱼。

  他只是微微点了点头,这两个本科生,有啥好聊的呢?

  不一会儿,正所长放下钓竿,伸伸懒腰,蹭蹭蹭从水面上如飞地走到对面上厕所。

  博士眼睛睁得都快掉下来了。水上飘?不会吧?这可是一个池塘啊。

  正所长上完厕所回来的时候,同样也是蹭蹭蹭地从水上飘回来了。

  怎么回事?博士生又不好去问,自己是博士生哪!

  过一阵,副所长也站起来,走几步,蹭蹭蹭地飘过水面上厕所。这下子博士更是差点昏倒:不会吧,到了一个江湖高手集中的地方?

  博士生也内急了。这个池塘两边有围墙,要到对面厕所非得绕十分钟的路,而回单位上又太远,怎么办?

  博士生也不愿意去问两位所长,憋了半天后,也起身往水里跨:我就不信本科生能过的水面,我博士生不能过。

  只听咚的一声,博士生栽到了水里。

  两位所长将他拉了出来,问他为什么要下水,他问:“为什么你们可以走过去呢?”

  两所长相视一笑:“这池塘里有两排木桩子,由于这两天下雨涨水正好在水面下。我们都知道这木桩的位置,所以可以踩着桩子过去。你怎么不问一声呢?”

  心得:学历代表过去,只有学习力才能代表将来。尊重经验的人,才能少走弯路。

列表展示

主站展示位

标签: xpath | 谢乾坤 | Kingname

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

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

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

分类: Gne | 谢乾坤 | Kingname

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

一日一技:Python工具脚本如何调用外层模块 | 谢乾坤 | Kingname

我三年前写过一篇文章:《小问题大隐患:如何正确设置 Python 项目的入口文件?》。讲到Python项目应该如何正确组织代码结构。入口文件应该在最外面,调用关系应该是从外向内调用。而不要学Java,从一个很深层的文件夹里面往外调用。 不过我在这篇文章的最后,也提到了一种例外情况,那就是工具脚本不受这个规则的限制。如下图所示。

标签: 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

产品经理这两天在跟我抱怨他们公司的一个码农。听的我火冒三丈,差点把跟了我十多年的搪瓷水杯砸烂。 正好在知识星球和微信群里面,有不少同学跟我咨询程序员的职业发展以及怎么应对三十岁危机。 借此机会,我准备用几篇文章来讲讲自己的经验和个人的观点。

标签: 消息推送 | 谢乾坤 | Kingname

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

一日一技:JSON如何快速转成对象? | 谢乾坤 | Kingname

我们知道,在Python里面,要把JSON转成字典是非常容易的,只需要使用json.loads(JSON字符串)就可以了。 但如果这个JSON转成的字典,嵌套比较深,那么要读取里面的数据就非常麻烦了。如下图所示: 如果我要读取把图中的end减去start字段,那么用字典的时候,代码要写成这样: 1result = info['data'][0]['entities&

标签: 前端 | 谢乾坤 | Kingname

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

一日一技:next.js如何正确处理跨域问题? | 谢乾坤 | Kingname

我以前一直使用Vue来写前端。去年下半年接手了一个基于React + Next.js的项目,于是顺带学习了一下Next.js。由于Next.js的特点,这个项目的前后端是放在一起的。一开始没什么问题,看了半天文档就上手了。 上周我们需要在另一个网页项目中,调用这个项目的后端接口,于是就需要处理跨域请求的问题。但我发现按照网上的方法,跨域问题依然存在。这个问题浪费了我不少时间,好在最后终于找到了原因

一日一技:如何同时在多个分支写代码? | 谢乾坤 | Kingname

当我们在维护公司项目时,可能会遇到这样的场景:我正在开发一个新功能,突然需要修一个Bug。 这个时候,有些同学是这样做的: 12345678git add .git commit -m 'WIP'git checkout -b 新的分支名...新的代码修改完成并push以后...git checkout 老分支...继续开发... 更有一些经验的同学,可能会这样写: 1234

标签: scrapy_redis | 谢乾坤 | Kingname

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

再见2023,你好2024 | 谢乾坤 | Kingname

跟风来写个年终总结。 我记得在2023年元旦,我发了个语音,说我要开始搞播客。结果1年过去了,播客还是没个影子。今年不设这个目标了,免得又拖到明年。 2023年开头的前5个月,是2022年痛苦的延续。我真的太讨厌字节了。每一天都过得非常痛苦。公众号没有时间写,自己的代码也没有时间写,连学习的时间都没有。每天下班就只想躺下。连躺下都躺不安稳,飞书上面的消息一直在轰炸,动不动就开语音。开你妈个锤子的语

老板让我加班怎么办?GPTs创建机器人实战 | 谢乾坤 | Kingname

前两天的OpenAI发布会,相信很多同学看完以后都热血沸腾。我之前一直使用的是ChatGPT的免费版本,看完这个发布会以后,立刻就充值了ChatGPT Plus,来试一试这些高级功能。 这两天GPTs功能上线了,短短三天时间,全球网友创建了几千个GPT机器人。我今天也来搞一个玩玩。 使用GPTs创建机器人非常简单,不需要懂任何编程知识,甚至不需要懂Prompt工程,你只需要跟着他的向导,一步一步描

助力大语言模型训练,无压力爬取六百亿网页 | 谢乾坤 | 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解析,都会报错,如下图所示: 遇到这种情况,有同学准备使用正则表达

一日一技:Requests被网站识别怎么办? | 谢乾坤 | Kingname

现在有很多网站,已经能够通过JA3或者其他指纹信息,来识别你的请求是不是Requests发起的。这种情况下,你无论怎么改Headers还是代理,都没有任何意义。 我之前写过一篇文章:Python如何突破JA3,但方法非常复杂,很多初学者表示上手有难度。那么今天我来一个更简单的方法,只需要修改两行代码。并且不仅能过JA3,还能过Akamai。

一日一技:在LangChain中使用Azure OpenAI Embedding服务 | 谢乾坤 | Kingname

如果大家深入使用过ChatGPT的API,或者用过听说过AutoGPT,那么可能会知道,它背后所依赖的语言框架LangChain。LangChain能够让大语言模型具有访问互联网的能力,以及与其他各种API互动交互,甚至是执行系统命令的能力。 ChatGPT的prompt支持的Token数量是有限的,但是使用LangChain,能够很容易实现ChatPDF/ChatDoc的效果。即使一段

博客寄语:

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

实时播报:

博客号-学习成长

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