- 博客(88)
- 资源 (3)
- 收藏
- 关注
转载 python爬虫:使用selenium + ChromeDriver爬取途家网
本文链接:https://blog.youkuaiyun.com/Yeoman92/article/details/83105318代码写的比较粗糙和不规范,请见谅。欢迎交流!完整代码及说明,请参考 https://gitee.com/yeoman92/tujia_craw说明本站(途家网https://www.tujia.com)通过常规抓页面的方法不能获取数据,可以使用selenium + Chr...
2019-09-09 17:29:59
2326
1
转载 使用slenium+chromedriver实现无敌爬虫
本文链接:https://blog.youkuaiyun.com/u010986776/article/details/79266448@概述通常各大网站的后台都会有一定的反爬机制,既为了数据安全,也为了减小服务器压力通常反爬的手段的方向,都是识别非浏览器客户端,而selenium所做的事情,恰恰是驱动真正的浏览器去执行请求和操作,只不过信号不是来源于鼠标,而是来源于selenium的API(selen...
2019-09-09 17:27:46
1009
1
转载 Python selenium —— selenium与自动化测试成神之路
转自:https://blog.youkuaiyun.com/huilan_same/article/details/52559711Python selenium —— selenium与自动化测试成神之路忽然想谈谈自动化的学习路径,因为发现很多人总是急于求成,不懂该如何学习。在群里总是会遇到很多人问低级问题,写了一个selenium脚本,却执行失败,跑到群里来问,大神,这里为什么会报错?很多都...
2019-05-23 19:36:43
385
原创 Docker详解
一、Docker介绍:1、容器是什么:容器技术是一种进程隔离的技术应用可以运行在一个个相互隔离的容器中与虚拟机不同的是:应用运行时共用着一个 Kernel容器技术提升了对系统资源的利用率提高了应用的部署迁移效率2、Docker是什么:Docker是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依...
2019-03-19 11:25:28
354
原创 Linux常用命令
Linux常用命令1.查看文件 cat 显示所有文件内容 more 翻页成分屏方式看 less 可以随意浏览文件2.查看文本 head 用于显示文件开头 tail 用于显示文件的结尾3.vim 文本编辑器 启动Vim,进入命令模式,按下i,切换到输入模式。 Page Up/Page Down,上/下翻页 Insert,切换光标为输入/替...
2019-03-06 15:06:19
249
转载 只有自律的人才配拥有真正的自由!
作者:打不死的小强链接:https://www.zhihu.com/question/284206141/answer/527370447来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 你觉得没法自律,根本原因是你觉得这事情不重要。很多时候,我们认为自己不够自律,本质上是:我们根本不知道自己到底想要什么,更不知道自律能带给我们什么好处,那自律又从何谈...
2018-12-19 17:22:41
3017
转载 接口测试
扫盲内容:1.什么是接口?2.接口都有哪些类型?3.接口的本质是什么?4.什么是接口测试?5.问什么要做接口测试?6.怎样做接口测试?7.接口测测试点是什么?8.接口测试都要掌握哪些知识?9.其他相关知识?1.什么是接口?接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议...
2018-11-27 16:35:39
348
1
转载 面试爬虫工程师的基本素质
学到哪种程度暂且把目标定位初级爬虫工程师,简单列一下吧:(必要部分) 语言选择:一般是了解Python、Java、Golang之一 熟悉多线程编程、网络编程、HTTP协议相关 开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到) 反爬相关,cookie、ip池、验证码等等 熟练使用分布式 (非必要,建议) 了解消息队列,如Rabb...
2018-10-25 15:43:42
1536
转载 最受欢迎的15个Python库!
2017,最受欢迎的 15 大 Python 库有哪些?本文作者:林立宏 2017-06-22 19:23 雷锋网按:本文作者为 ActiveWizards 的数据顾问 Igor Bobriakov,雷锋网林立宏与 Raey Raey Li 编译。 Igor Bobriakov近年来,Python 在数据科学行业扮演着越来越重要的角色。因此,我根据近来的使用体验,在本...
2018-10-16 16:09:00
545
原创 对于爬虫的简单认知
简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML、JS、CSS代码返回给浏览器,这些代码经过浏览器解析、渲染,将丰富多彩的网页呈现我们眼前;爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的...
2018-10-16 15:10:10
1808
转载 Python爬虫项目大全
最新跟新GitHub链接地址:https://github.com/facert/awesome-spider今天为大家整理了32个Python爬虫项目。整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心。所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)OWechatSogou [1]- 微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬...
2018-08-14 14:40:55
1074
转载 看清并认识更好的自己!!!
转自:https://blog.youkuaiyun.com/csdnsevenn/article/details/81463930这个世界非常多样,自我实现的方式也绝不止哪一种。我们每个人都不一样,永远不要试图成为他人,那是妄念。我们唯一能做的,就是看清自己并努力成为更好的自己,这条路永远都不会错。没有对错,每个人遵循自己的选择往下走。作者五五白天搬砖,晚上砌梦想。相信每个人有故事,...
2018-08-07 23:23:18
279
转载 时间价值的三种定位
赚钱的行业有很多,赚钱的方法只有三种。No.1 站着赚钱站着赚钱通常是一些机械化较辛苦的工作。只要不怕苦就可以赚到钱,但是需要投入大量的精力与时间,拿的还是死工资。No.2 坐着赚钱坐着赚钱是指用方法赚钱。比如开店铺的小老板,淘宝店主,销售员,投资等,只要懂得方法就可以赚到钱。但是这种方法需要一定的头脑和资本,有赚自然也会有赔。No.3 躺着赚钱躺着赚钱就是让同一份时...
2018-08-06 15:14:35
275
转载 自动化测试工具UIRecorder安装教程
一、功能简介:支持所有用户行为: 键盘事件, 鼠标事件, alert, 文件上传, 拖放, svg, shadow dom支持无线native app录制, 基于macaca实现: https://macacajs.com/无干扰录制: 和正常测试无任何区别,无需任何交互录制用例存储在本地支持丰富的断言类型: val,text,displayed,enabled,selected,attr,css...
2018-05-28 23:05:05
1229
原创 如何编写单元测试用例
一、单元测试的概念 单元通俗的说就是指一个实现简单功能的函数。单元测试就是只用一组特定的输入(测试用例)测试函数是否功能正常,并且返回了正确的输出。 测试的覆盖种类 1.语句覆盖:语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次。 2.判定覆盖(也叫分支覆盖):设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次。 3.条件...
2018-05-18 19:01:35
19526
转载 Docker详解
一、Docker 简介Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 -- Docker HubDocker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布你的 Docker...
2018-03-27 16:07:11
304
原创 scrapy中yield解析
1. yield解析: yield 的作用就是把一个函数变成一个生成器(generator),带有yield的函数不再是一个普通函数,Python解释器会将其视为一个generator,单独调用(如fab(5))不会执行fab函数,而是返回一个 iterable 对象! 在for循环执行时,每次循环都会执行fab函数内部的代码,执行到yield b时,fab函数就返回一个迭代值,...
2018-03-27 15:46:46
8006
转载 Redis简介以及和其他缓存数据库的区别
转载自:https://blog.youkuaiyun.com/xlgen157387/article/details/60761232Redis简介Redis 是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(Strings),散列(Hashes),列表(Lists),集合(Sets),有序集合(Sorted Sets或者是ZSet) 与范围查询,...
2018-03-26 17:38:28
402
原创 管道的理解
socket的定义&&使用场景:(一)socket的使用场景:如:浏览器进程与web服务器进程通信;如:QQ进程与好友的QQ进程通信;(二)本地的进程通信 && 网络上的进程通信:(1)本地的进程通信:本地的进程间通信(IPC)有很多种方式,但可以总结为下面3类:1.消息传递(管道、FIFO、消息队列)2.同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)3....
2018-03-26 15:05:54
250
原创 消息队列的应用场景
1异步处理场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式。(1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。(架构KKQ:466097527,欢迎加入)(2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可...
2018-03-26 15:04:25
167
原创 管道与消息队列
管道通信(PIPE)管道通信方式的中间介质是文件,通常称这种文件为管道文件。两个进程利用管道文件进行通信时,一个进程为写进程,另一个进程为读进程。写进程通过写端(发送端)往管道文件中写入信息;读进程通过读端(接收端)从管道文件中读取信息。两个进程协调不断地进行写、读,便会构成双方通过管道传递信息的流水线。利用系统调用PIPE()创建一个无名管道文件,通常称为无名管道或PIPE;利用系统调用MKNO...
2018-03-26 15:01:08
703
原创 tcp/IP
TCP/IP TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有:TCP包括FTP、HTTP、TELNET、SMTP等协议 UDP包括DNS、TFTP等协议 短连接 连接->传输数据->关闭连接 HTTP是无状态...
2018-03-21 23:18:16
197
原创 数据库高并发问题
多线程多进程计算密集型任务:使用多进程,因为能Python有GIL,多进程可以利用上CPU多核优势;IO密集型任务:使用多线程,做IO切换节省任务执行时间(并发) 一个项目刚开始的时候是为了实现基本功能,随着版本和功能的迭代,大数据和高并发成了软件设计必须考虑的问题!本质很简单,一个是慢,一个是等。两者是相互关联的,因为慢,所以要等,因为等,所以慢,解决了慢,也就解决了等,...
2018-03-21 23:16:12
578
转载 时下流行的浏览器User-Agent大全
转自:http://blog.youkuaiyun.com/u012175089/article/details/61199238一、基础知识篇:HttpHeader之User-AgentUserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。...
2018-03-19 09:50:37
674
原创 oj回文子串
# 给你一个字符串a和一个正整数n,# 判断a中是否存在长度为n的回文子串。# 如果存在,则输出YES,否则输出NO。# 回文串的定义:记串str逆序之后的字符串是str1,# 若str=str1,则称str是回文串,如"abcba".def huiwen(a, n): newA = '' for i in range(n // 2): newA +=...
2018-03-15 16:42:35
405
原创 使用豆瓣源安装
pip install xxx -i http://pypi.douban.com/simple/ pip install -r req.txt -i http://pypi.douban.com/simple/
2018-03-15 16:40:18
2157
转载 python装饰器
python装饰器原创 2018年03月14日 17:46:39标签:python /装饰器3python装饰器就是用于扩展原函数功能的一种函数,这个函数特殊的地方就是它的返回值也是一个函数,使用Python装饰器的一个好处就是:在不需要修改原函数代码的情况下,给函数增加新的功能。 先来看个例子:def say(): print('Nice day')say()# 这个函数的输出为:...
2018-03-14 17:56:46
169
转载 理解Restful架构
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发...
2018-03-07 11:58:45
156
转载 HTTP协议
http协议学习系列1. 基础概念篇1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1....
2018-03-05 16:08:02
198
转载 Web应用从服务器主动推送数据到客户端有哪些方式?
通常情况下,打开网页或app去查询或者刷新时,客户端向服务器发出请求然后返回数据,客户端与服务端对应的模式是: 客户端请求--服务端响应, 而在有些情况下,服务端会主动推送一些信息到客户端,例如:新闻的订阅,天气的提醒等等,那么在这样的模式下,会有些问题值得思考:1.应用服务器如何确定每一个应用所在的设备2.服务端把消息推到哪,客户端又不像服务器有一个固定的地址服务端主动推送到客户端是怎么一个过...
2018-03-05 16:03:53
3530
转载 TCP/IP三次握手和HTTP过程
1、TCP连接手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。建立起一个TCP连接需要经过“三次握手”:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j...
2018-03-05 16:02:03
443
原创 浏览器渲染原理
WEB 页面运行在各种各样的浏览器当中,浏览器载入、渲染页面的速度直接影响着用户体验简单地说,页面渲染就是浏览器将 HTML 代码根据 CSS 定义的规则显示在浏览器窗口中的这个过程。渲染过程1. 用户输入网址(假设是个 HTML 页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回 HTML 文件;2. 浏览器开始载入 HTML 代码,发现 <head> 标签内有一个 <...
2018-03-05 16:00:23
206
转载 如何解决跨域问题
什么是跨域?概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。URL 说明 是否允许通信http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许http://www.a.com/lab/a.jshttp://www.a.com/script/b.js 同一域名下不同文...
2018-03-05 15:58:50
287
转载 前端和后端是如何交互的
1、前端请求数据URL由谁来写在开发中,URL主要是由后台来写好给前端。 若后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数(即URL请求的参数)。2、接口文档主要由谁来写接口文档主要由后台设计和修改。 后台直接跟数据打交道,最清楚数据库里有什么数据,能返回什么数据。 前端只是数据的被动接受者,只是接口文档的使用者。 使用过程中,发现返回的数据部队,...
2018-03-05 15:46:18
81888
6
转载 Python运行机制以及pyc/pyo文件的作用
作者:知乎用户 链接:https://www.zhihu.com/question/30296617/answer/112564303 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作为Python爱好者,需要了解.py脚本的基本运行机制及特性:在很多工作上Python的运行流程基本上取决于用户,因此源码不需要编译成二进制代码(否则
2018-02-07 09:41:24
581
原创 Python面向对象
面向对象一 概念(1)类的概念(class):用来描述具有相同属性和方法的集合(2)属性:就是一个变量名二 类的定义class 类名:属性行为(方法)1234类名:大驼峰命名法 首字母大写见名知意区分大小写三 类的实例化对象名 = 类名([参数一…])类的实例化 称为对象四 属性和方法名的调用
2018-01-31 17:57:23
284
原创 Django rest serializers
序列化模型与序列化关系模型序列化模型,顾名思义,即对 models 里的数据模型作序列化。而序列化关系模型则是对 models 里数据模型中带有关系的如 ForeignKey, ManyToManyField 和 OneToOneField 字段作序列化。Django Rest Framework 提供了灵活的序列化关系模型,让开发者可以自由定制序列化数据模型。序列化关系模型
2018-01-31 17:54:28
613
原创 Django rest request
Request 对象REST 框架引入了Request对象,继承于HttpRequest,相比HttpRequest提供了更多请求解析,最核心的功能是request.data属性,类似于request.POST,以下是不同之处。request.POST只能处理form表单数据;只能处理POST请求。request.data能够处理任意一种数据;
2018-01-31 14:01:33
909
原创 python中的断言
这个问题是如何在一些场景下使用断言表达式,通常会有人误用它,所以我决定写一篇文章来说明何时使用断言,什么时候不用。为那些还不清楚它的人,Python的assert是用来检查一个条件,如果它为真,就不做任何事。如果它为假,则会抛出AssertError并且包含错误信息。例如:py> x = 23py> assert x > 0, "x is not zero or negative"py> asse
2018-01-28 20:39:27
1331
1
原创 ORM
Django访问数据库接口 Django的ORM模型,操作数据库还是很方便的,由于项目需要Django开发web系统,查阅了一些资料,为防止时间久了自己忘记,故在这里保存一下。。:)也希望能帮助到有需要的人。管理器(Manager)是Django的模型进行数据库查询操作的接口。Django 应用的每个模型都拥有至少一个管理器。默认情况下,Django 为每个模型类
2018-01-22 17:08:20
895
2
django-rest-framework 官方文档
2018-01-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人