之前想爬取一些淘宝的数据,后来发现需要登录,找了很多的资料,有个使用request的sessions加上cookie来登录的,cookie的获取在登录后使用开发者工具可以找到。不过这个登录后获得的网页的代码是静态的,获取动态网页还得另寻他法,一般需要的数据可以在网页的源码中得到,但是你知道的,有些动态加载的就不是那么简单了,而且我发现这样获得的源码中,有些想要获取的数据的格式是经过改动的,比如我要某个商品的具体链接,发现并不能直接使用。总体而言,这是一次失
系统 2019-09-27 17:54:47 2078
1.工具包安装pipinstallvirtualenv|sudoapt-getinstallpython-virtualenv2.创建虚拟环境#virtualenv/system_python_bin_path/your_virenv_local_pathvirtualenv-p/usr/bin/python2.7/usr_local_path#创建链接sudoln-sf/usr_local_path/bin/activatetf_activatesudo
系统 2019-09-27 17:54:23 2078
本函数可以使用参数real+imag*j方式创建一个复数。也可以转换一个字符串的数字为复数;或者转换一个数字为复数。如果第一个参数是字符串,第二个参数不用填写,会解释这个字符串且返回复数;不过,第二个参数不能输入字符串方式,否则会出错。real和imag参数可以输入数字,如果imag参数没有输入,默认它就是零值,这个函数就相当于int()或float()的功能。如果real和imag参数都输入零,这个函数就返回0j。有了这个函数,就可以很方便地把一个列表转
系统 2019-09-27 17:53:57 2078
1.函数添加importsyssys.pathsys.path.append("c:\\")2.修改pythonpath(试不通)windows:PYTHONPATH3.增加.pth文件(可以)site-packages或者python安装目录添加xx.pth,文件内容为模块目录。linux(ubuntu)/usr/local/lib/python2.7/dist-packageslinux(redhat)/usr/lib/python2.7/site-p
系统 2019-09-27 17:53:45 2078
这里主要讲了bs4解析方法和json方法,以8684网页为例子,爬取了全国公交线路importrequestsimporttimefrombs4importBeautifulSoupimportjsonfromxpinyinimportPinyinheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/76.0.
系统 2019-09-27 17:53:12 2078
运行多进程每个子进程的内存空间是互相隔离的进程之间数据不能共享的互斥锁但是进程之间都是运行在一个操作系统上,进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是可以的,而共享带来的是竞争,竞争带来的结果就是错乱#并发运行,效率高,但竞争同一打印终端,带来了打印错乱frommultiprocessingimportProcessimporttimedeftask(name):print("%s1"%name)time.slee
系统 2019-09-27 17:52:42 2078
在上一篇文章中,我们讲了如何在linux上用python写一个守护进程。主要原理是利用linux的fork函数来创建一个进程,然后退出父进程运行,生成的子进程就会成为一个守护进程。细心观察的可能会发现,这个守护进程的运行身份是执行这个程序的用户,如果把这个守护程序加入到系统的服务项,那么这个守护程序的执行身份应该是root。一个情况出现了,root的权限比较大,如果通过这个root身份的守护程序来进行操作,危险性是比较大的。一种好的办法是生成一个身份为ro
系统 2019-09-27 17:52:32 2078
实现一个支持动态扩容的数组并完成其增删改查#通过python实现动态数组"""数组特点:占用一段连续的内存空间,支持随机(索引)访问,且时间复杂度为O(1)添加元素时间复杂度:O(n)删除元素时间复杂度:O(n)"""classArr:def__init__(self,capacity=10):"""构造函数:paramcapacity:数组最大容量,不指定的话默认为10"""self._capacity=capacityself._size=0#数组有效
系统 2019-09-27 17:52:16 2078
我们首先来看下python的全部代码,大家可以直接复制后测试:#-*-encoding:utf-8-*-importloggingimportwmiimportosimporttimefromConfigParserimportConfigParserimportsmtplibfromemail.mime.textimportMIMETextimportsocketfromdatetimeimportdatetimeimportreimportsysimp
系统 2019-09-27 17:52:12 2078
Python这门解释性语言也有专门的线程模型,Python虚拟机使用GIL(GlobalInterpreterLock,全局解释器锁)来互斥线程对共享资源的访问,但暂时无法利用多处理器的优势。在Python中我们主要是通过thread和threading这两个模块来实现的,其中Python的threading模块是对thread做了一些包装的,可以更加方便的被使用,所以我们使用threading模块实现多线程编程。这篇文章我们主要来看看Python对多线程
系统 2019-09-27 17:51:00 2078