Windows•安装lxml最好的安装方式是通过wheel文件来安装,http://www.lfd.uci.edu/~gohlke/pythonlibs/,从该网站找到lxml的相关文件。假如是Python3.5版本,WIndows64位系统,那就找到lxml‑3.7.2‑cp35‑cp35m‑win_amd64.whl这个文件并下载,然后通过pip安装。下载之后,运行如下命令安装:pip3installwheelpip3installlxml‑3.7.2
系统 2019-09-27 17:53:34 2171
最近博主手上有一个爬虫项目,开始深入研究python爬虫开发,这是我篇博客也相当于是我的学习笔记,我认为学习爬虫第一步,先学习python多线程与多进程,熟悉网络编程,接下来会陆续以博客的方式跟大家做分享。多进程Python实现多进程的方式主要有两种,一种方法是使用os模块中的fork方法,另一种方法是使用multiprocessing模块。这两种方法的区别在于前者仅适用于Unix/Linux操作系统,对Windows不支持,后者则是跨平台的实现方式,目前
系统 2019-09-27 17:53:30 2171
classA:def__init__(self,info={}):self.info=infodef__getattr__(self,item):returnself.info[item]a=A()a.age=123print(a.age)a.name=123print(a.name)a.xis=123print(a.xis)print(a.__dict__)
系统 2019-09-27 17:53:25 2171
生成器(generator)概念生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束。生成器语法生成器表达式:通列表解析语法,只不过把列表解析的[]换成()生成器表达式能做的事情列表解析基本都能处理,只不过在需要处理的序列比较大时,列表解析比较费内存。>>>gen=(x**2forxinrange(5))>>>genat0x0000000002FB7B40>>>>forgingen:
系统 2019-09-27 17:52:55 2171
工厂模式,类似实际的制造车间中,根据订单的需求来生成/创建某个实例。1.应用场景:需要创建的实例不确定,由输入的数据决定;2.实现方法:实现一个独立的类,接收传入的需要创建实例的名称,在该类中实现创建某个具体实例。3.代码:#coding:utf-8classPerson(object):def__init__(self):self.name=Noneself.gender=NonedefgetName(self):returnself.namedefge
系统 2019-09-27 17:52:30 2171
简介在实际自动化项目运行过程中,很多时候App可以会出现各种异常,为了更好的定位问题,除了捕捉日志我们还需要对运行时的设备状态来进行截屏。从而达到一种“有图有真相”的效果。截图方法方法1save_screenshot()该方法直接保存当前屏幕截图到当前脚本所在文件位置。driver.save_screenshot('login.png')查看方法1源码:方法2get_screenshot_as_file(self,filename)将截图保留到指定文件路径
系统 2019-09-27 17:51:40 2171
在python中,一个函数就是一个作用域name='xiaoyafei'defchange_name():name='肖亚飞'print('在change_name里的name:',name)change_name()#调用函数print("在外面的name:",name)运行结果如下:在change_name里的name:肖亚飞在外面的name:xiaoyafei我们再试一下在嵌套函数中是如何的寻找的?age=15deffunc():print('第一层
系统 2019-09-27 17:51:15 2171
python批量添加的button使用同一点击事件根据传递的参数进行区分。defclear_text():print'我只是个清空而已'defclear_text(index):print'我只是个清空而已'+str(index)button=Button(framet_title,text='清空',command=clear_text)这样去设置,单个按钮对应单个点击事件没有问题的如果你是foriinRange(10):button=Button(fr
系统 2019-09-27 17:50:34 2171
類別定義class類別名:例如:>>>classPoint:...x=0.0...y=0.01.宣告>>>p1=Point()>>>p1.x,p1.y(0.0,0.0)2.賦値>>>p1.x=5.0>>>p1.y=6.0>>>p1.x,p1.y(5.0,6.0)3.位址指向>>>p1<__main__.Pointobjectat0x00000000021B22E8>>>>id(p1.x)30060832>>>id(p1.y)300608084.別名Alia
系统 2019-09-27 17:50:30 2171
协程是什么我们已经做过不少爬虫项目,不过我们爬取的数据都不算太大,如果我们想要爬取的是成千上万条的数据,那么就会遇到一个问题:因为程序是一行一行依次执行的缘故,要等待很久,我们才能拿到想要的数据。既然一个爬虫爬取大量数据要爬很久,那我们能不能让多个爬虫一起爬取?这样无疑能提高爬取的效率,就像一个人干不完的活儿,组个团队一起干,活一下被干完了。这是一个很好的思路——让多个爬虫帮我们干活。但具体怎么用Python实现这事呢?我们可以先别急着想怎么实现这件事,后
系统 2019-09-27 17:50:16 2171