前言提起selenium想必大家都不陌生,作为一款知名的Web自动化测试框架,selenium支持多款主流浏览器,提供了功能丰富的API接口,经常被我们用作爬虫工具来使用。但是selenium的缺点也很明显,比如速度太慢、对版本配置要求严苛,最麻烦是经常要更新对应的驱动。今天就给大家介绍另一款web自动化测试工具Pyppeteer,虽然支持的浏览器比较单一,但在安装配置的便利性和运行效率方面都要远胜selenium。01.Pyppeteer简介介绍Pypp
系统 2019-09-27 17:53:10 2435
一、什么是Selenium?Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:SeleniumIDE、SeleniumWebDriver和SeleniumGrid。SeleniumIDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java、python等)的形式导出成测试用例。SeleniumWebDriver:提供Web自动化所需
系统 2019-09-27 17:45:46 2435
本文实例讲述了Python抓取某只基金历史净值数据。分享给大家供大家参考,具体如下:http://fund.eastmoney.com/f10/jjjz_519961.html1、接下来,我们需要动手把这些html抓取下来(这部分知识我们之前已经学过,现在不妨重温)#coding:utf-8fromselenium.webdriver.support.uiimportWebDriverWaitfromseleniumimportwebdriverfromb
系统 2019-09-27 17:45:32 2435
Smptp类定义:smtplib.SMTP(host[,port[,local_hostname[,,timeout]]]),作为SMTP的构造函数,功能是与smtp服务器建立连接,在连接成功后,就可以向服务器发送相关请求,比如登陆,校验,发送,退出等。host参数为远程smtp主机地址,比如stmp.163.com;port为连接端口,默认为25;local_hostname的作用是在本地的FQDN(完整的域名)发送HELO/EHLO指令,timeout
系统 2019-09-27 17:38:37 2435
今天继续爬取一个网站,http://www.27270.com/ent/meinvtupian/这个网站具备反爬,所以我们下载的代码有些地方处理的也不是很到位,大家重点学习思路,有啥建议可以在评论的地方跟我说说。为了以后的网络请求操作方向,我们这次简单的进行一些代码的封装操作。这里在你可以先去安装一个叫做retrying的模块pipinstallretrying这个模块的具体使用,自己去百度吧。嘿嘿哒〜在这里我使用了一个随机产生USER_AGENT的方法i
系统 2019-09-27 17:57:21 2434
本文完整代码下载:github链接目前在做的工作有一部门是搭建一个可供公司内部使用的推送平台,用的中间件是redis,于是就自然的想用redis5.0版本的新特性来实现这个功能,网上的demo比较少,且大多是终端操作的命令行,写了一个Python的类和大家分享。在介绍具体实现之前,先大致介绍一下背景。在Redis5.0版本发布之前,redis也有一个发布、订阅功能,但功能非常简单,只能单纯的发布和订阅,适合在即时通信里使用。缺点非常多:消息没有持久化的机制
系统 2019-09-27 17:56:13 2434
这学期选修了一门Python在大数据中的应用这门课,是方老师教的,了解了一些数据分析常用的库,Numpy,plt,sklearn等印象比较深的库有1.plt可以对数据进行可视化,利于直观的进行数据分析2.sklearn有许多机器学习算法,可以直接用,十分方便老师留了几道python题,我这次直接拿来做总结//题目描述:用scikit-learn加载iris数据集,采用KNN、SVM和朴素贝叶斯算法进行分类,最后比较这三种方法的优缺点。代码:#-*-codi
系统 2019-09-27 17:55:45 2434
前言初学Python,遇到过这样的问题,在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下:num_list=[1,2,3,4,5]print(num_list)foriinrange(len(num_list)):ifnum_list[i]==2:num_list.pop(i)else:print(num_list[i])print(num_list)会报异常:IndexError:listindexoutofrange原因是在删除lis
系统 2019-09-27 17:54:23 2434
在Python3.5(含)以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面。但是从Python3.6开始,字典是变成有顺序的了。你先插入键值对A,后插入键值对B,那么当你打印Keys列表的时候,你就会发现B在A的后面。不仅如此,从Python3.6开始,下面的三种遍历操作,效率要高于Python3.5之前:forkeyin字典forvaluein字典.values()forkey
系统 2019-09-27 17:51:02 2434
首先把实现方法写出来,其实很简单,只需要一句代码即可:复制代码代码如下:productlist.sort(lambdap1,p2:cmp(p1.getPrice(),p2.getPrice()))数组productlist中存储的是自定义类Product,Product有一个方法是返回商品的价格,于是对productlist按照Product的价格从低到高进行排序,仅需要如此简单的一行代码即可实现。Python真的是一门简洁而强大的语言,实际上,我也是从写
系统 2019-09-27 17:38:08 2434
太阳花绘制描述使用turtle库,绘制一个太阳花的图形,如下图所示:
系统 2019-09-27 17:32:55 2434
python字符串过滤性能比较5种方法比较总共比较5种方法。直接看代码:importrandomimporttimeimportosimportstringbase=string.digits+string.punctuationtotal=100000defloop(ss):"""循环"""rt=''forcinss:ifcin'0123456789':rt=rt+creturnrtdefregular(ss):"""正则表达式"""importrert
系统 2019-09-27 17:55:00 2433
Rust也能实现神经网络?作者|NathanJ.Goldbaum译者|弯月,责编|屠敏出品|CSDN(ID:CSDNnews)以下为译文:我在前一篇帖子(http://neuralnetworksanddeeplearning.com/chap1.html)中介绍了MNIST数据集(http://yann.lecun.com/exdb/mnist/)以及分辨手写数字的问题。在这篇文章中,我将利用前一篇帖子中的代码,通过Rust实现一个简单的神经网络。我的目
系统 2019-09-27 17:52:04 2433
在python中安装了lxml-4.2.1,在使用时发现导入etree时IDE中报错Unresolvedreference其实发现,不影响使用,可以正常运行,对于我这种要刨根问底的人不搞明白怎么能罢休了,要保证代码不红就研究了下源码,通过源码中可以发现,html中继承了etree看下图这里也是为啥前面出红但还是能顺利执行了那么我们使用的时候就得变换下了:如下使用,哎谁让etree是二进制文件了,希望下一个版本会有好的改善,通过github看源码,发现是cp
系统 2019-09-27 17:48:57 2433
使用Python进行图像编程,要使用到Graphics库。下面列举出较常用的代码fromgraphicsimport*#设置画布窗口名和尺寸win=GraphWin('hehe',666,666)#关闭画布窗口win.getMouse()win.close()#画点pt=Point(100,100)pt.draw(win)#画圆cir=Circle(Point(200,200),75)cir.draw(win)cir.setOutline('red')#外
系统 2019-09-27 17:47:11 2433