python
Jonny的ICU
梦还是要做的,万一见鬼了呢!
展开
-
Python爬虫之利用爬虫利器puppeteer搭建远程服务
什么是puppeteer?Chrome59(linux、macos)、 Chrome60(windows)之后,Chrome自带headless(无界面)模式很方便做自动化测试或者爬虫。但是如何和headless模式的Chrome交互则是一个问题。通过启动Chrome时的命令行参数仅能实现简易的启动时初始化操作。Selenium、Webdriver等是一种解决方案,但是往往依赖众多,不够扁平。...原创 2019-08-13 22:02:58 · 3294 阅读 · 0 评论 -
Python实习面试之网易数据分析师笔试
可能是我之前复习的有点偏,网易数据分析实习生的笔试题目做起来有些吃力,一共是20个选择题和3个简答题,选择题主要是考察数值分析、概率论、数据结构。其他的内容几乎没有涉及。印象比较深的是几个题是关于均值问题、找零钱问题、还有个铺地板问题。总体来看主要考察的是概率论。简答题主要是数据库,有两道。最后一道时间太仓促,没怎么答,内容是关于考拉海购的销售方面的问题。具体题目记不太清了,还像是要说销售对象的划...原创 2018-05-04 21:14:20 · 7645 阅读 · 0 评论 -
Python爬虫进阶之Chromedriver版本映射
暂时不做评述原创 2018-05-14 16:10:35 · 394 阅读 · 0 评论 -
Python数据分析师求职之阿里数据分析师模拟笔试题(数据库的随机抽取若干的数据信息进行访问)
今晚做了一份阿里巴巴公司的模拟笔试题,总体的感觉乱七八糟。。。。。具体就不说了,我们来说说其中一个题吧。“一个学校有7个年级,每个年级10个班,每班20名学生,如何用SQL随机抽取10%的学生参加讲座?”下面是转载的内容:(转载地址:https://blog.csdn.net/zxl315/article/details/2435368)在mysql中查询5条不重复的数据,使用以下:<?xm...转载 2018-05-07 19:34:49 · 644 阅读 · 0 评论 -
Python进阶之借助selenium爬取淘宝商品信息
稍后更新原创 2018-05-14 19:16:13 · 492 阅读 · 0 评论 -
Python进阶之爬虫进阶selenium的使用
不在以文字赘述了,直接上代码,代码中都已经做了注解。。。其余内容稍后更新# encoding=utf-8__author__ = 'Jonny'__location__ = '西安'__date__ = '2018-05-14'from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom ...原创 2018-05-14 19:17:10 · 324 阅读 · 0 评论 -
Python进阶之爬虫url去重(可用于文件去重)
主要介绍几个常用和目前了解的,当然还有其他方法,这里只说目前本人自己能实现的几种方法的基本思想:基于Hash算法的存储。对每一个给定的URL,都是用一个已经建立好的Hash函数,映射到某个物理地址上。当需要进行检测URL是否重复的时候,只需要将这个URL进行Hash映射,如果得到的地址已经存在,说明已经被下载过,放弃下载,否则,将该URL及其Hash地址作为键值对存放到Hash表中。这样,URL去...原创 2018-05-14 20:39:21 · 3605 阅读 · 0 评论 -
Python常见错误之error: Microsoft Visual C++ 14.0 is required.
原因: 可能是直接使用 pip install 【第三方库名】 安装自己需要的第三方库。结果错误: Microsoft Visual C++ 14.0 is required解决办法: 一定要安装和自己windows版本和python版本对应的第三方库。推荐在:python库下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs...原创 2018-06-03 08:44:16 · 1316 阅读 · 0 评论 -
Python项目开发之hash算法深究
一.概念哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键。使用哈希查找有两个步骤: 1. 使用哈希函数将被查找的键转...原创 2018-05-04 21:30:02 · 1844 阅读 · 0 评论 -
Python数据分析师面试之“完美世界”数据分析师实习生
只能说是狗血的剧情。太意外了。。。。早上起来洗洗漱漱,好好的收拾一下,准备去面试,毕竟想给面试官一个好的第一印象,去之前还特意去了趟实验室,结果发现没带实验室的钥匙,又打电话找小伙伴拿钥匙,进去了之后,拿上简历,顺带带上之前的笔记,能多准备点就多准备点,带着还算可以的自信,就去了,一路上还是蛮忐忑的,大约一个多小时,到了面试所在的酒店,从进楼的第一刻就开始的我乱七八糟的面试经历,先是进错了电梯,后...原创 2018-04-26 15:56:41 · 4172 阅读 · 2 评论 -
python面试之正则表达式
一、正则表达式模式模式字符串使用特殊的语法来表示一个正则表达式:字母和数字表示他们自身。一个正则表达式模式中的字母和数字匹配同样的字符串。多数字母和数字前加一个反斜杠时会拥有不同的含义。标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。反斜杠本身需要使用反斜杠转义。由于正则表达式通常都包含反斜杠,所以你最好使用原始字符串来表示它们。模式元素(如 r'/t',等价于'//t')匹配相应的特殊字...原创 2018-03-22 22:03:42 · 1352 阅读 · 0 评论 -
python面试之算法基础(排序算法总结与实现)
冒泡排序(稳定):冒泡排序实现的过程主要是分为两步,第一步利用一层循环控制数列的冒泡的次数,第二步利用第二层循环控制从第一个数值位置“冒出”的元素数值不断与之后的数值比较之后(也就是冒泡中的数值始终是比较之后的最大值(或最小值))放在合适的位置,也就是逐次将大(小)数,次大(小)数。。。往后放,最终形成一个有序的序列。程序实现如下:def maopao_sort(list): n = le...原创 2018-03-14 16:41:59 · 547 阅读 · 0 评论 -
Python进阶之反爬虫策略
通常防止爬虫被反主要有以下几个策略:动态设置User-Agent(随机切换User-Agent,模拟不同用户的浏览器信息)禁用Cookies(也就是不启用cookies middleware,不向Server发送cookies,有些网站通过cookie的使用发现爬虫行为)可以通过COOKIES_ENABLED 控制 CookiesMiddleware 开启或关闭设置延迟下载(防止访问过于频繁,设置...原创 2018-03-25 22:08:17 · 1009 阅读 · 0 评论 -
Python面试之数据分析的三个距离
1 欧几里得距离:两个点之间的距离,也即通常情况下,我们所计算的距离,n维空间中的欧式距离的计算公式为:2 曼哈顿距离:两个点在标准坐标系上的绝对轴距总和,在2维空间中的计算公式为:3 切比雪夫距离:各坐标数值差的最大值,在2维空间中的计算公式为:...原创 2018-03-26 22:29:11 · 750 阅读 · 0 评论 -
Python实战之scrapy爬虫的parse()工作机制
1、因为使用的yield,而不是return。parse函数将会被当做一个生成器使用,scrapy会逐一获取parse方法中生成结果,并判断结果是一个什么类型。2、如果是request则加入爬取队列,如果是item类型则使用pipeline处理,其他类型则返回错误信息。3、scrapy取到的第一部分request不会立即就去发送这个request,只是把这个request放在队列中,然后接着从生成...原创 2018-04-14 18:09:14 · 3551 阅读 · 0 评论 -
Python爬虫面试之“宜信”爬虫实习生
昨天下午接到HR小姐姐的面试通知,协商面试时间,当时在外面又加上考虑到给自己点准备的时间,于是就把时间定在第二天下午3点,一晚上的准备的时间感觉成果还是不错,从接到面试通知开始,自己熬了一个通宵,从爬虫基础requests,urllib2等开始看,到爬虫框架scrapy,到分布式爬虫radis-scrapy,在从Python的高级编程迭代器、闭包、装饰器、生成器、线程、线程开始看,再...原创 2018-04-20 18:46:37 · 2960 阅读 · 2 评论 -
Python面试之麦穗人工智能“爬虫工程师实习生”
相对今上午的面试,本次面试一上来就是一波三折,各种视频电话各种无法接通,后来终于接通了,感觉面试官的语气就很不耐烦,反正感觉心情很糟糕,一种爱面不面的口气。。。。。。整个面试过程持续了15分钟,整个面试过程感觉相当被动,让我有种有劲发不出来的感觉,算了,不说了,还是说说面试题吧。1、你都遇到过哪些反爬虫措施?2、你在做12306过程中都用到了那些库?用什么库进行的网页解析。。。3、你在做“TB数据...原创 2018-05-09 16:44:04 · 1933 阅读 · 0 评论 -
Python面试之沪江网“数据爬虫算法实习”
这篇博客是后来补的,面试是在今天上午,现在又经历了一场面试,感觉从头凉到脚,。。。。。总体来说,上午的面试比下午的刚进行完的这场面试要好得多,至少我知道的都已经表达清楚了。上午的面试进行了大约30分钟,是沪江网的部门CTO 进行的面试,上午的这场面试并没下午的面试这么刁难,只是问的都是关于项目的东西,开发过程,开发中遇到的问题,以及其他的方面的交流。 1、你为什么选择这岗...原创 2018-05-09 16:58:52 · 515 阅读 · 0 评论 -
Python爬虫之浏览器User-Agent大全
一、基础知识篇:Http Header之User-Agent User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标 识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访...转载 2018-06-14 11:10:32 · 21387 阅读 · 0 评论 -
Python爬虫之selenium 父子、兄弟、相邻节点定位方式详解
selenium中根据父子、兄弟、相邻节点定位的方法,很多人在实际应用中会遇到想定位的节点无法直接定位,需要通过附近节点来相对定位的问题,但从父节点定位子节点容易,从子节点定位父节点、定位一个节点的哥哥节点就一筹莫展了,接下做出详尽的解析。1. 由父节点定位子节点最简单的肯定就是由父节点定位子节点了,我们有很多方法可以定位,下面上个例子:对以下代码:<html><body>...原创 2018-06-25 14:23:50 · 4289 阅读 · 0 评论 -
Python面试之同花顺Python开发工程师(一面)
同花顺的一面相对简单,是通过电话面试的,对面的小哥哥感觉很不错,给我讲了很多的东西和以后需要提高的方面:下面做个见得总结: 面试面容主要两个方面:一个方面是python方面,另一个方面是数据库方面。 Python方面主要是和Python基础相关的东西,就不在赘述了,有兴趣和可以参考一下本人的其他博文。需要特别说明的是,需要了解scrapy框架的基本原理。 主要介...原创 2018-10-12 10:54:42 · 1812 阅读 · 2 评论 -
Python面试之同花顺Python开发工程师(二面)
这次面试正好我在外地实习期间,面试地点在西安电子科技大学,我当时正好在北京实习,当时自己的多少也有些犹豫,到底是去还是不去,去可能被刷掉,不去便失去了这次机会,但最终还是选择做了13个小时的火车硬座,从北京赶回西安做了这次面试,但是幸运的是,面试结束之后马上就进行了HR面,三面结束立即告诉我面试通过了,我当时真的很开心,感觉自己要和太阳肩并肩了,兴奋只是因为我对自己的决定感到很明智...原创 2018-11-01 17:14:21 · 1272 阅读 · 1 评论 -
Python进阶之CPU计算密集型和IO密集型
在最近往服务器部署爬虫程序的时候,遇到了一个很奇怪的问题,就是部署上之后运行一段时间或者是直接不运行就进入休眠状态了,开始一直怀疑是由于服务器内存不足导致的程序休眠,后来废了好大的劲,最终找到了罪魁祸首,具体分析我通过这几篇连载的博客来分析一下,正好也对给自己充充电。第一种任务的类型是计算密集型任务,其特点是要进行大量的计算,消耗CPU资源,比如计算圆周率、对视频进行高清解码等等,全靠CPU的...原创 2018-11-09 15:06:58 · 5345 阅读 · 1 评论 -
Python进阶之关于协程的那些事
目录什么是协程。Python中对协程的实现 什么是协程。 协程:又称微线程,纤程。英文名Coroutine。首先我们得知道协程是啥?协程其实可以认为是比线程更小的执行单元。 为啥说他是一个执行单元,因为他自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢复 CPU上下文那么程序还是可以运行的。一句话说明什么是线程:协程是...原创 2018-11-09 15:40:07 · 862 阅读 · 0 评论 -
python进阶之进程、线程和协程在实际应用中的问题
多线程 vs多进程vs协程Python中比较常见的并发方式主要有两种:多线程和多进程。当然还有协程。基础的程序开发这里就不说了,想要了解基本的协程开发的参见另一篇博客Python进阶之关于协程的那些事...原创 2018-11-08 18:26:08 · 1155 阅读 · 0 评论 -
Python常用操作之excle文件的基本操作(功能后续更新)
废话不多说,直接上代码:#!/usr/bin/env python3# encoding : utf-8# @author : 'Jonny'# @location: '北京'# @date : '2018/11/12 17:37'# @Email : 15006562764@163.com# @File : ExcleHelp.py# @Software: ...原创 2018-11-14 11:20:54 · 344 阅读 · 0 评论 -
Python基础之堆栈基础的二次代码封装
#!/usr/bin/env python3# encoding : utf-8# @author : 'Jonny'# @location: '北京'# @date : '2018/11/26 15:02'# @Email : 15006562764@163.com# @File : StackHelp.py# @Software: PyCharm# @blo...原创 2018-11-26 15:09:45 · 717 阅读 · 1 评论 -
Python面试之睿智融科售前策略工程师(二面)
之前的一面就不在说了,水的很,具体来说说二面的问题:1、介绍一下linux常用命令:参看:Linux 命令大全 | 菜鸟教程2、介绍一下vi常用操作键:后续补充3、为什么Python没有多线程:Python中的多线程没有真正实现多现程! 为什么这么说,我们了解一个概念,全局解释器锁(GIL)。Python代码的执行由Python虚拟机(解释器)来控制。Python在...原创 2018-10-12 10:19:27 · 589 阅读 · 0 评论 -
python面试之腾讯测试开发工程师
今天面试了腾讯的测试开发工程师岗位,总体感觉一般,问的问题都还是比较基础性的东西,当然也问了很多实习期间做的项目,各占一半吧。下面基础部分的东西总结一下:1、假定我有100M的一个文本数据,但是我的电脑内存只有10M,我怎么在有限的资源条件的情况下,找出这个文本中出现次数最多的那一行字符串?解决思路:说来也巧,其实这不难,只是有时候突然没了思路,灵感来自于一个小学妹的一句话,他最近在搞数学...原创 2018-09-26 14:32:01 · 3871 阅读 · 1 评论 -
Python爬虫进阶之selenium定位不到元素的几种情况和解决方法
1>动态ID,每次调用页面出现的元素的ID会动态随机分配。解决方案:推荐使用xpath的相对路径方法查找到该元素。2>内嵌页面Iframe,导致无法定位到Iframe的页面元素。解决方案:driver.switchTo().frame(Id/name/element)来进行进入指定id/name/element的iframe内嵌页面中,从而可以定位iframe内部元素。具体来说:如果i...原创 2018-06-20 17:40:48 · 8466 阅读 · 1 评论 -
Python爬虫之数据的提取和清洗的正则应用规则
最近在做一个项目,爬虫获取的数据可谓一锅粥,果断选择了正则表达式,下面是常用的规则:表达式全集字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。^匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位...转载 2018-06-27 15:25:49 · 1934 阅读 · 0 评论 -
Python爬虫之crawlspider源码解析
做了好久的爬虫,还没有真正的阅读过crawlspider的源码,下面是一些源码的解析:Spider基本上能做很多事情了,但是如果你想爬取全站的话,可能需要一个更强大的武器。CrawlSpider基于Spider,但是可以说是为全站爬取而生。CrawlSpiders是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页,而CrawlSpider类定义了一些规则(rul...原创 2018-07-02 17:46:14 · 658 阅读 · 0 评论 -
Python爬虫之异常重试的解决方案详解
大家在做数据抓取的时候,经常遇到由于网络问题导致的程序保存,先前只是记录了错误内容,并对错误内容进行后期处理。原先的流程:def crawl_page(url): pass def log_error(url): passurl = ""try: crawl_page(url)except: log_error(url)?改进后的流程:attempts = 0success...原创 2018-06-28 19:23:15 · 9060 阅读 · 0 评论 -
Python爬虫实习之scrapy运行后未爬取直接结束
一开始看到这种情况也soil一连懵逼,什么鬼,难道是我的IP不行被网站看上了,想想不可能啊,毕竟是第一次爬取,于是开始了我一点一点的纠错过程,一开始以为是我的工程项目的文件设置路径错了,后来发现并不是,于是又想是不是程序的启动运行脚本程序错了,改了半天发现也不是,于是我无奈了。。。。可是,有时候灵感就是那么一瞬间,是不是网址写错了。事实证明却是是这样,这里说写错了,并不是那种直接把网址真的写错...原创 2018-07-20 17:44:22 · 3966 阅读 · 3 评论 -
为何大量网站不能抓取?爬虫突破封禁的6种常见方法
为何大量网站不能抓取?爬虫突破封禁的6种常见方法 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长。今天大众好像更倾向于用“网络数据采集”,有时会把网络数据采集程序称为网络机器人(bots)。最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用 HTML 表单或其他网页文件),然后对数据进行解析,提取需要的信息。本文假定读者已经了解如何用代码来抓取一个远程的 U...转载 2018-08-01 10:16:10 · 242 阅读 · 0 评论 -
python爬虫进阶之scrapy的暂停与重启
scrapy的每一个爬虫,暂停时可以记录暂停状态以及爬取了哪些url,重启时可以从暂停状态开始爬取过的URL不在爬取实现暂停与重启记录状态方法一:1、首先cd进入到scrapy项目里(当然你也可以通过编写脚本Python文件直接在pycharm中运行)2、在scrapy项目里创建保存记录信息的文件夹3、执行命令: scrapy crawl 爬虫名称 -s JOBDIR=保...原创 2018-08-01 16:12:37 · 12611 阅读 · 4 评论 -
python进阶之基于pynq开发板的人脸检测程序解析
__author__ = 'Jonny'__doc__ ='http://pillow.readthedocs.io/en/3.1.x/reference/Image.html?highlight=fromarray'# """# 脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,# 后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独原创 2018-01-06 17:40:42 · 5648 阅读 · 3 评论 -
python进阶之微信跳一跳外挂
开发日志:开发流程:开始运行-->配置手机和电脑(连接,截屏等功能)-->截图-->分析棋子棋盘的坐标-->计算棋子棋盘的距离-->执行按压手机屏幕跳跃的功能-->等待1~2秒-->返回“截图”重复执行外挂适应不目前市场上绝大多数的安卓手机,不适用IOS系统手机,主流支持的分辨率为1280*720,1920*1280,2560*1440。WeChatJum...原创 2018-01-23 10:39:06 · 1621 阅读 · 0 评论 -
python进阶之python-opencv实现人脸检测
人脸检测定义人脸检测函数detectFaces(),检测图片中所有出现的人脸,并返回人脸的矩形坐标(矩形左上、右下顶点坐标)。使用上面提到的xml文件(haar特征),haarcascades目录下有好几个是关于人脸检测的文件,这里选择haarcascade_frontalface_default.xml,当然也可以使用其他的。另外需要注意的是,必须以灰度图作为haar分类器的输入转载 2017-12-28 16:08:04 · 996 阅读 · 0 评论 -
Python起步之基础知识初步应用(飞机大战)
#飞机大战import pygameimport pygame.locals as GAME_GLOBALSimport pygame.event as GAME_EVENTSimport timeimport random#飞机类class Baseplane(object): def __init__(self,x,y,load,speed,name):原创 2017-09-28 18:27:44 · 1725 阅读 · 3 评论