自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(265)
  • 收藏
  • 关注

原创 2022 Python 面试 100 问

对于基本网页的抓取可以自定义headers,添加headers的数据 使用多个代理ip进行抓取或者设置抓取的频率降低一些, 动态网页的可以使用selenium + phantomjs 进行抓取 对部分数据进行加密的,可以使用selenium进行截图,使用python自带的pytesseract库进行识别,但是比较慢最直接的方法是找到加密的方法进行逆向推理。55 用一行代码生成[1,4,9,16,25,36,49,64,81,100]93 对装饰器的理解,并写出一个计时器记录方法执行性能的装饰器?

2022-09-13 20:18:05 894 1

原创 数据驱动在链家网搜索优化与推荐策略中的实践

a)为什么要驱动策略迭代?这个问题相对好回答,往大了说,公司为了能够脱颖而出,赶上风口,解决痛点,开创新领域,改造旧场景;往小了讲,即便是为了在竞争中维持下去,开源节流,维持用户,都需要其提供的服务或产品能够紧跟时代需求,不断迭代策略,提高效率。b)为什么是数据来驱动策略?以链家网为例,房产领域天然融合了,房、客、经纪人三方的数据,其相互之间的匹配关系与资源调度也都需要策略进行调优,我们期望通过科学的数据处理与分析,以及合理的实验论证,不断提高线上与线下的策略效果,也给用户带来更好的产品体验。

2022-09-26 16:56:50 394 1

原创 蚂蚁金服面对亿级并发场景的组件体系设计

5 月 6 日,InfoQ 主办的 QCon 2019 全球软件开发大会 在北京举行。蚂蚁金服技术专家吕丹(凝睇)在大会上做了《蚂蚁金服面对亿级并发场景的组件体系设计》的分享,我们根据演讲整理如下:今天,我主要想和大家分享一下移动领域基础组件体系,内容大致可以分为四大块,第一块是标准移动研发所需的基础服务体系,第二块是支撑亿级并发的核心组件“移动接入”的架构演进过程,第三块是双十一、双十二、新春红包这种大促活动的的应付方法,最后一块是目前已经对外输出的基础服务产品。移动研发基础服务体系 首先介绍一下支付宝客

2022-09-26 16:43:45 479

原创 五分钟学会Python网络爬虫

爬虫写得好,牢饭吃到饱”,业内常用这个段子来调侃爬虫工程师。因为做爬虫有些敏感、重要的数据是不能随便抓取,进行商业利用的,不然随时都可能被请去“喝茶”。今年,就有好多互金公司因为爬虫的问题,被举报调查。但不管怎样,爬虫技术是无罪的,还是值得我们开发人员去学习了解一下的。在学习之前,我们还是要先了解一下相关概念。网络爬虫:又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。

2022-09-23 16:11:17 517

原创 10个Python爬虫框架推荐,你使用的是哪个呢?

Selenium是自动化测试工具,它支持各种浏览器,包括 Chrome,Safari,Firefox等主流界面式浏览器,如果在这些浏览器里面安装一个 Selenium 的插件,可以方便地实现Web界面的测试. Selenium支持浏览器驱动。Selenium支持多种语言开发,比如 Java,C,Ruby等等,PhantomJS 用来渲染解析JS,Selenium 用来驱动以及与Python的对接,Python进行后期的处理。这些框架的优缺点都不同,大家在使用的时候,可以根据具体场景选择合适的框架。

2022-09-23 15:52:36 346

原创 【2022 年】 Python3 爬虫教程 - 爬虫是什么?

本节结束,我们已经对爬虫有了基本的了解,接下来让我们一起接着迈入爬虫学习的世界吧!

2022-09-23 15:50:53 526

原创 跟我学Python图像处理丨关于图像金字塔的图像向下取样和向上取样

图像金字塔是指由一组图像且不同分别率的子图集合,它是图像多尺度表达的一种,以多分辨率来解释图像的结构,主要用于图像的分割或压缩。它将图像在每个方向上扩大为原图像的2倍,新增的行和列均用0来填充,并使用与“向下取样”相同的卷积核乘以4,再与放大后的图像进行卷积运算,以获得“新增像素”的新值。显而易见,原始图像Gi具有M×N个像素,进行向下取样之后,所得到的图像Gi+1具有M/2×N/2个像素,只有原图的四分之一。输出结果如图6-17所示,每次向上取样均为上次图像的四倍,但图像的清晰度会降低。

2022-09-22 15:35:05 876

原创 为什么 Python 不是面向未来的编程语言?

编程社区花了几十年的时间才接纳了 Python。但自 2010 年初以来它一直在蓬勃发展,热度终于比肩 C、C#、Java 和 JavaScript。但这种趋势会持续到什么时候?什么时候 Python 会被其他语言取代,为什么?Python 的消亡时间是很难预测的,所以我不会给出确切的时间点,而是会评估当下正在推动 Python 普及的优势有哪些,将来导致它没落的缺陷又会是哪些。

2022-09-22 14:59:40 143

原创 27 个问题,告诉你Python为什么这么设计

为什么Python对某些功能(例如list.index())使用方法来实现,而其他功能(例如len(List))使用函数实现?为什么 join()是一个字符串方法而不是列表或元组方法?为什么Python中没有switch或case语句?为什么Python没有属性赋值的“with”语句?为什么Python在列表和元组的末尾允许使用逗号?为什么CPython不使用更传统的垃圾回收方案?为什么在方法定义和调用中显式使用“self”?为什么Python使用缩进来分组语句?为什么Python字符串是不可变的?

2022-09-21 21:30:48 401 1

原创 20个优质Python学习资源

许多程序员都把Python作为编程之旅的开始,它也是近年来最热门的web开发语言之一。但是应该从哪里开始学习Python语言呢?这里向大家推荐一些学习Python语言的相关网站、书籍和资源。这些网站的网址只需要简单搜索就能找到。

2022-09-21 19:18:35 563

原创 三问 Python:能干什么?为什么火?会继续火吗?

前段时间,博主的学校出了毕业率的统计报告。基本就业率都有90%,由于我的大学里面并没有开设Python的学习课程,这意味着没有python的校招,在我的大学开设的主流课程还是java,c++之类的。没有校招,就是要自己去外面面试了,而又"听说"外面就业困难,自己即将大四面临就业问题也是有点不淡定的。自己也在考虑是回头学一下java加深一下java能力,还是继续学python呢?java的就业,从每年的校招就可以看出来的,自己努力也是可以找到一份不错的工作的。但python的就业呢?

2022-09-21 17:18:50 1903

原创 谁说不能用 Python开发企业应用?

语言多元化是PayPal编程文化中一个重要的组成部分。在C++和Java长期流行的同时,更多的团队选择了JvaScript和Scala。同时,Braintree的收购也引入了一个久经世故的Ruby社区。Python作为一门特别的语言,在eBay和PayPal有很长的历史。而且其流行程度依然有增不减。eBay的开发者支持Python这个应用于基层领域多年的语言。甚至在eBay管理层官方支持Python以前,技术人员就开始使用Python。

2022-09-21 17:15:03 357

原创 为什么Python不是面向未来的编程语言?

它填补了大规模技术计算的空白:通常,人们会使用 Python 或 Matlab,并用大规模计算必需的 C++ 库修补整个过程流程。因此,即使开发人员可能用它为基本任务做出可接受的结果,但最好的办法还是使用一种为移动应用开发而创建的语言。R 在过去几年一直处于稳定状态,其他很多语言的热度则在稳步下滑,但 Python 的增长似乎势不可挡。Python 的消亡时间是很难预测的,所以我不会给出确切的时间点,而是会评估当下正在推动 Python 普及的优势有哪些,将来导致它没落的缺陷又会是哪些。

2022-09-21 17:12:30 236

原创 史无前例的这个 GitHub 汇总了 300 道 Python 面试题

总体而言,项目有近300道面试题。5.现有字典 d= {'a':24,'g':52,'i':12,'k':33}请按value值进行排序?8.将字符串 "k:1 |k1:2|k2:3|k3:4",处理成字典 {k:1,k1:2,...}72.map(lambda x:xx,[y for y in range(3)])的输出?为什么选择redis数据库?34.用一行代码生成[1,4,9,16,25,36,49,64,81,100]82.用一行代码生成[1,4,9,16,25,36,49,64,81,100]

2022-09-20 21:41:25 467

原创 人见人爱的最新 Python 爬虫利器

前面都是简单的用GET方法获取请求,如果需要登录等比较复杂的过程,就不能用get方法了。类包含了丰富的方法,可以帮助我们完成需求。下面介绍一下这些方法。自定义用户代理有些网站会使用UA来识别客户端类型,有时候需要伪造UA来实现某些操作。如果查看文档的话会发现上的很多请求方法都有一个额外的参数**kwargs,这个参数用来向底层的请求传递额外参数。我们先向网站发送一个请求,看看返回的网站信息。

2022-09-20 17:24:13 202

原创 4 行 Python 代码开发新闻网站通用爬虫

GNE(GeneralNewsExtractor)是一个通用新闻网站正文抽取模块,输入一篇新闻网页的 HTML, 输出正文内容、标题、作者、发布时间、正文中的图片地址和正文所在的标签源代码。GNE 在提取今日头条、网易新闻、游民星空、 观察者网、凤凰网、腾讯新闻、ReadHub、新浪新闻等数百个中文新闻网站上效果非常出色,几乎能够达到 100%的准确率。GNE 的输入是HTML 代码,所以 GNE 可以配合 Selenium 或者 Pyppeteer 使用。

2022-09-20 16:56:38 469

原创 看几段爬虫代码,详解Python多线程、多进程、协程

线程就是实现异步的一个方式,也就是说多线程是异步处理异步就意味着不知道处理结果,有时候我们需要了解处理结果,就可以采用。爬虫的加速是重要技能,但适当控制速度也是爬虫工作者的良好习惯,不要给服务器太大压力,拜拜~很多时候我们写了一个爬虫,实现了需求后会发现了很多值得改进的地方,其中很重要的一点就是爬取速度。首先我们写一个简化的爬虫,对各个功能细分,有意识进行函数式编程。配合动态协作就可以达到异步非阻塞的目的,本质只用了一个线程,所以很大程度利用了资源。库的代码稍繁琐,但支持更多的拓展。

2022-09-20 16:45:18 220

原创 Python分布式动态页面爬虫研究

phantomJS 比较轻量,但对多并发支持非常差chromedriver 渲染速度快,多并发支持较好,但占用内存大splash 实现了 HTTP API,分布式扩展容易,页面渲染能力一般Selenium Grid 是专业的测试框架,扩展容易,支持负载均衡等高级特性所以,分布式 Scrapy+chromedriver或是实现分布式动态爬虫较好的选择。

2022-09-20 16:23:07 482

原创 关于 Python 反爬虫,我有几点想说的

从实际上来看,也有很多爬虫程序的运行并非是为了往死里薅网站的数据和内容,仅仅是为了方便进行手工的收集和整理工作,这种类型的爬虫行为一般会比人工浏览的频次要高,但是又显著低于鬣狗般的高频爬虫,对这种类型的爬虫行为可以忽略掉。网站的访问者与网站之间是互相互惠互利的关系,网站为访问者提供了自己所需要的必要的信息和服务,而访问者也为网站带来了流量、访客、活跃度。本质上来说,互联网上可以供人们浏览、查看和使用的网站及其网站上的数据,都是公开和允许获取的,所以并不存在于所谓的“非法授权访问”问题。

2022-09-19 21:35:51 172

原创 你想学 Python 爬虫?看看这篇关于开发者工具神器的博客吧

当侧边栏打开之后,日志级别位置会被禁用,如下图所示:同时侧边栏中会对当前网页所有的信息进行聚合,例如打开某站点,出现数据如下图所示:一般情况下,我们关注的都是错误信息,即出现红色警告时。本篇博客我们重点对开发者工具中的控制台进行了说明,希望对你的前端或者 Python 爬虫之路有所帮助。

2022-09-19 20:51:17 225

原创 来自 2022 年的 Python 网络爬虫补充知识,HTML+JSON+ 爬虫场景

2022 年,知识版权的保护越来越严格,爬虫编写者的生存空间逐渐变小,但有数据的地方就会有爬虫的存在,不能采集别人的站点,我们就自力更生,后续我给大家搭建自己的站点。本系列文章是 《Python 爬虫 120》例的阶段知识补充,原因是部分群友反馈,爬虫 120 例都是案例,来写理论夯实一下基础。既然这样,那我们就在补充 20 篇吧,不过都是 1500 字(排除代码外)的短篇博客,希望对大家有所帮助,暂定日更 2 篇,10 天更完,然后收录到收费专栏中,现阶段免费学习,还不抓紧?

2022-09-19 20:36:56 228

原创 听说你想学 Python 爬虫?我从零教你啊

选择器用的好不好,其实看的是你前端基础,尤其是 CSS 相关知识点,所以会建议学习 Python 爬虫之前,先简单了解一些前端知识,它们分为 3 部分,HTML,CSS,JS,这些都与爬虫密切相关,尤其是选择器,更是未来解决问题的一大利器,这里还有一个小建议,如果觉得原生 JS 实在难写,那好好学一下其框架 jQuery,其中的选择器知识点,对爬虫助力很大。当我们使用爬虫程序采集数据之后,就面临存储的问题了,常见的存储方式有如下几种,你也可以在学习 Python 爬虫之间,就开始储备相关知识点。

2022-09-19 20:21:45 74

原创 Python 零基础入门的第一天——开发环境的搭建

什么叫程序设计语言?程序设计语言也叫编程语言,是计算机能够理解和识别用户意图的一种交互体系,它按照特定规则组织计算机指令,使用计算机能够自动进行各种运算处理。什么叫计算机程序?按照编程语言规则组织起来的一组计算机指令。程序设计语言发展的三个阶段编程语言为什么不用自然语言(如:中文)?因为自然语言不够精确,存在计算机无法理解的二义性。自然语言具有不严密和模糊的缺点,需要交流双方具有较高的识别能力才能懂。现在的计算机还不具备理解这种高强度的二义性语言。

2022-09-19 20:04:35 894

原创 Python 常见的 170 道面试题:2022 版

84. filter 方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]55. 写一个函数,接收整数参数 n,返回一个函数,函数的功能是把函数的参数和 n 相乘并把结果返回。33. [[1,2],[3,4],[5,6]] 一行代码展开该列表,得出 [1,2,3,4,5,6]30. 已知 AList = [1,2,3,1,2],对 AList 列表元素去重,写出具体过程。38. 请合并下面两个字典 a = {A:1,B:2},b = {C:3,D:4}

2022-09-19 17:14:40 112

原创 从一道让我失眠的 Promise 面试题开始,深入分析 Promise 实现细节

我们都知道 Js 是单线程都,但是一些高耗时操作就带来了进程阻塞问题。同步模式(Synchronous)和异步模式(Asynchronous)。在异步模式下,创建异步任务主要分为宏任务与微任务两种。ES6 规范中,宏任务(Macrotask) 称为 Task, 微任务(Microtask) 称为 Jobs。宏任务是由宿主(浏览器、Node)发起的,而微任务由 JS 自身发起。宏任务与微任务的几种创建方式👇如何理解 script(整体代码块)是个宏任务呢🤔。

2022-09-18 20:37:45 168

原创 Python lambda 函数深度总结

lambda 函数是一个匿名函数(即,没有名称定义),它可以接受任意数量的参数,但与普通函数不同,它只计算并返回一个表达式lambda 参数:表达式关键字 lambda:与普通函数中 def 类似参数:支持传递位置和关键字参数,与普通函数一样正文:处理定参数的表达式需要注意的是,普通函数不同,这里不需要用括号将 lambda 函数的参数括起来,如果 lambda 函数有两个或更多参数,我们用逗号列出它们。

2022-09-18 16:43:01 262

原创 python “groupby” 操作实践之格式化输出星期字符串

这节主要说了 python 中itertools中的几个方法,和分析需求到,查询资料,到分析资料中的代码的过程。所以遇到问题,可以查资料,但是查了资料后一定要懂,为啥这么写,好还是不好,有没有啥改善的地方。就这么吧,下篇更精彩!!!

2022-09-18 16:23:21 318

原创 基于 FastAPI 的房源租赁系统设计与实现

不要为了单独一个而全部调整,只要达到了美观就行无需全部对齐,重要是关注每个入参和出参有没有关联等,一些必传啊,枚举参数等,相关联的放到一起,这样的代码才更赏心悦目。1、通过 filter 函数滤镜函数实现图标不同颜色的阴影,然后原图标偏移图标宽度然后隐藏,就只剩下带颜色的图标阴影(本项目所采用的方案)首先我可以获取所有房源设施的信息,接口返回当前房源有的房源信息,只要判断不在总房源设施列表里的就显示。项目开发整体采用的是Python的FastAPI框架来搭建系统的接口服务,接口设计遵循。

2022-09-18 16:16:19 826

转载 都 2022 年了,你真的会用 Python 的 pip 吗?

pip 是 Python 默认集成的包管理工具,而其本质就是 Python 标准库中的一个包,只是比较特殊一些,可以管理其它包,从 Python2.7 开始,Python 安装包中默认装载了pip,而且如果使用虚拟环境,即使用virtualenv或pyvenv,pip 也会默认同步到环境中。如果安装 Python 环境之后,发现pip不存在,也可以选择get-pip.py进行重安装。

2022-09-18 15:57:08 259

原创 万字总结 Python 构建指南与设计模式概览

本文的目的是快速了解 Python 数据结构和语法糖,包括如何使用 Python 表达那些我们熟悉的设计思想和设计模式,然后,基于成熟的环境管理工具和优秀的第三方库快速开发 Python 工程。大致可分为四部分内容:所谓:工欲善其事,必先利其器,我们的 Python 工程需要各种软件包的加持。与其事后手动管理依赖包和运行环境,不妨事先就将这些麻烦的问题交给更高效的工具处理,好让我们专注于工程开发。因此,在介绍 Python 之前,有必要先了解 conda 工具。conda 自身是一个开源的软件包管理系统和环

2022-09-18 15:48:49 259

原创 爬虫工程师,UTF8/GBK/GB2312的乱码让你头疼吗

这一篇我们来观摩Python中的 Requests、Scrapy 库以及Golang中的 Charset 库对于网页编码的处理逻辑,并让你具备提高 Requests 库编码猜测准确性的能力。

2022-09-16 20:54:45 655

原创 pytest生成HTML测试报告

另外一个地方需要注意的是--self-contained-html这个参数主要是针对pytest-html模块,由于默认pytest-html中生成测试报告的网页和CSS文件都是分开来存储的,如果想直接将css文件合并到html中,这样分享测试报告的时候也更加方便,所以只需要加入这个参数即可--self-contained-html。解决方式,降低pytest为4.6.11版本后,异常就不会抛出,但是pytest-html需要6.0版本上的pytest,由于不影响测试结果,更加完善的解决方法后续再研究;

2022-09-16 20:49:06 164

原创 Python入门篇之random库

随机数在计算机应用中十分常见,内置的库主要用于产生各种分布的序列。库采用梅森旋转算法生成伪随机数序列,可用于除随机性要求更高的加解密算法外的大多数工程应用使用库的主要目的是生成随机数,因此,我们只需要查阅该库中随机数生成函数,找到符合使用场景的函数即可。该库提供了不问类型的随机数函数,所有函数都是基于最基本的函数扩展实现。

2022-09-16 20:46:11 5979

原创 Python 面试复习题整理

33.Python中help()和dir()函数的用法是什么?2 Python中的元类(metaclass)32 __name__ 和 __main__7 Python中单下划线和双下划线。1 Python的函数参数传递。17 Python中的作用域。22 Python函数式编程。23 Python里的拷贝。13 Python中重载。26 Python的is。18 GIL线程全局锁。

2022-09-16 19:45:28 304

原创 Python自学笔记11-函数的定义和调用

函数是代码封装的一种手段,函数中包含一段可以重复执行的代码,在需要用到这些代码时,只需要调用函数,就会运行函数中的代码。def 函数名称(参数1, 参数2):函数体(要运行的代码)现在我们举个例子说明函数的作用。print('打开高级车门')print('开发动机')print('安全带')print('踩油门')print('掌握方向')如果要开很多次车,那么每次都需要敲相同的 5 行代码,这样会造成几个问题:很容易编写不同的代码,或者代码出现错误代码冗余,可读性不强。

2022-09-15 21:35:31 87

原创 使用 Mypy 检查 30 万行 Python 代码,总结出 3 大痛点与 6 个技巧!

虽然采用 Mypy 是有代价的(前期和持续的投入、学习曲线等),但我发现它对于维护大型 Python 代码库有着不可估量的价值。Mymy 可能不适合于所有人,但它十分适合我。

2022-09-15 21:23:33 289

原创 动手实现深度学习(5):计算图的实现

Ps: 在前面的几章中,我对代码的重视程度并不大,这是因为前几章的涉及的代码都是作为理论基础。在后面的章节中会注意代码的组织结构。P.S.:利用计算图的求导数的步骤类似于链式法则, 这里先挖个坑,稍后求sigmoid的微分的时候会举例。上一张我们实现了梯度下降算法,并且能训练出一个简单的神经网络了;并结合反向传播机制,对乘法和加法的backward进行了实现。其内部的实现是基于导数实现的。其内部的实现是基于公式本身。为了能够更好的说明如何使用BaseLayer,我们给出乘法和加法的实现。

2022-09-15 21:14:16 543

原创 python包合集-argparse

argparse 是 python 自带的命令行参数解析包,可以用来方便的服务命令行参数,使用之前需要先导入包 import argparse。

2022-09-15 21:04:01 210

原创 Python图像处理丨带你认识图像量化处理及局部马赛克特效

所谓量化(Quantization),就是将图像像素点对应亮度的连续变化区间转换为单个特定值的过程,即将原始灰度图像的空间坐标幅度值离散化。量化等级越多,图像层次越丰富,灰度分辨率越高,图像的质量也越好;量化等级越少,图像层次欠丰富,灰度分辨率越低,会出现图像轮廓分层的现象,降低了图像的质量。图6-1是将图像的连续灰度值转换为0至255的灰度级的过程。如果量化等级为2,则将使用两种灰度级表示原始图片的像素(0-255),灰度值小于128的取0,大于等于128的取128;

2022-09-15 20:55:33 433

原创 knn算法详解

俗话说:物以类聚,人以群分。看一个人什么样,看他身边的朋友什么样就知道了(这里并没歧视谁,只是大概率是这样)对于判断下图绿色的球是哪种数据类型的方法就是根据寻找他最近的k个数据,根据k的值来推测新数据的类型。比如下图离绿球最近的红三角有两个,蓝方块有一个,因此推测绿色的球为红色的三角,这就是knn算法的思想2.算法原理#2.1通用步骤#2.1.1计算距离#

2022-09-15 20:48:12 924

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除