上次完成的url爬取项目并不能满足需求,在此完成了一个更为强大的爬取代码,有需要的可以直接运行,根据自己爬取的网站更改部分正则和形参即可。前排提示:运行需要耐心,因为几千个url爬完的话,还是建议花生瓜子可乐电影准备好。下面是代码,代码有注释,很容易理解。注意:爬虫代码每过一段时间就需要更新,因为爬的东西在变,所以可能过一段时间就要更新爬虫。#-*-coding:utf-8-*-"""CreatedonWedSep2914:01:282018@author
系统 2019-09-27 17:52:48 2224
旋转椭圆实例代码:importmatplotlib.pyplotaspltimportnumpyasnpfrommatplotlib.patchesimportEllipsedelta=45.0#degreesangles=np.arange(0,360+delta,delta)ells=[Ellipse((1,1),4,2,a)forainangles]a=plt.subplot(111,aspect='equal')foreinells:e.set_c
系统 2019-09-27 17:52:38 2224
之前用了谷歌的selenium模块,为了练习一下所以写了这个(没错才不是别的理由!)代码里涉及到了各种复杂的情况,包括要找的div在别的iframe中的处理方式,顶部导航栏的定位方式等等。综合性很强下面是代码fromseleniumimportwebdriverimporttimefromfake_useragentimportUserAgentopt=webdriver.ChromeOptions()#opt.add_argument('--headle
系统 2019-09-27 17:52:24 2224
numpy中的random模块有多个函数用于生成不同类型的随机数,常见的有uniform、rand、random、randint、random_interges下面介绍一下各自的用法1、np.random.uniform的用法np.random.uniform(low=0.0,high=1.0,size=None)作用:可以生成[low,high)中的随机数,可以是单个值,也可以是一维数组,也可以是多维数组参数介绍:low:float型,或者是数组类型的,
系统 2019-09-27 17:52:05 2224
安装模块windows:pipinstallpymysqlubuntu:sudopip3installpymysqlpython操作mysql步骤importpymysql(1)链接mysql数据库db=pymysql.connect(主机名,用户名,密码,数据库名)(2)设置字符编码db.set_charset('utf8')(3)创建游标对象cursor=db.cursor()(4)准备sql语句sql='...'(5)执行sql语句cursor.ex
系统 2019-09-27 17:51:03 2224
这个乘法表看上去比较舒服,(●’◡’●)foriinrange(1,10):#i取值1到9forjinrange(1,i+1):#j取值1到is="%d*%d=%d"%(j,i,i*j)#赋值乘法公式print(s.ljust(8),end='')#每个字符串占8字符,左对齐,i不变时结尾不换行print()#i变时换行函数defmult(n):foriinrange(1,n+1):forjinrange(1,i+1):s='%d*%d=%d'%(j,i,
系统 2019-09-27 17:49:52 2224
如下所示:#coding:utf-8importosimportpsutilimporttimedefwrite_pid():pid=os.getpid()fp=open("pid.log",'w')fp.write(str(pid))fp.close()defread_pid():ifos.path.exists("pid.log"):fp=open("pid.log",'r')pid=fp.read()fp.close()returnpidelse:r
系统 2019-09-27 17:48:34 2224
先看之前写的代码:i=0defhhh():globaliprint(i)ifi==3:returnii=i+1hhh()print(hhh())结果应该输出01233但实际却是:0123None这是为什么呢?首先,Return的用法,调用函数的时候,如果没有执行return命令(或return命令未接收数据),默认会返回none这里if判断生效,确定应该执行了return命令,也接收到了全局变量i,但为什么结果和预想不一样呢?这里主要是由于函数递归的使用导
系统 2019-09-27 17:47:32 2224
浏览器的简单操作#导入webdriver模块#创建driver对象,指定Chrome浏览器driver=webdriver.Chrome()#窗口最大化driver.maximize_window()#访问百度driver.get("http://baidu.com")driver.get("http://sina.com")#后退driver.back()#前进driver.forward()#刷新driver.refresh()#关闭窗口driver.
系统 2019-09-27 17:47:25 2224
一、死锁简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况。1、迭代死锁该情况是一个线程“迭代”请求同一个资源,直接就会造成死锁:importthreadingimporttimeclassMyThread(threading.Thread):defrun(self):globalnumtime.sleep(1)ifmutex.acquire(1):num=num+1msg=self.name
系统 2019-09-27 17:46:39 2224