使用工具,ubuntu,python,pycharm一、使用pycharm创建项目:过程略二、安装scrapy框架pipinstallScrapy三、创建scrapy项目:1.创建爬虫项目scrapystartprojectqidian2.创建爬虫,先进入爬虫项目目录cdqidian/scrapygenspiderbookbook.qidian.com创建完成后项目目录如下目录下的的book.py就是我们的爬虫文件四、打开book.py编写爬虫的代码1.进
系统 2019-09-27 17:54:20 2403
在python中使用列表的时候大家经常会需要向一个列表中添加一个元素,像下面这两种使用方法需要注意:复制代码代码如下:t=[1,2,3]t1=t.append([4])t2=t+[4]以上两种使用方式是有区别的,我们来看看实际运行的效果:复制代码代码如下:>>>t=[1,2,3]>>>t1=t.append([4])>>>t[1,2,3,[4]]>>>t1>>>>>>t2=t+[4]>>>t2[1,2,3,[4],4]>>>t[1,2,3,[4]]可以看到
系统 2019-09-27 17:52:37 2403
前面已经演示了Python:使用threading模块实现多线程编程二两种方式起线程和Python:使用threading模块实现多线程编程三threading.Thread类的重要函数,这两篇文章的示例都是演示了互不相干的独立线程,现在我们考虑这样一个问题:假设各个线程需要访问同一公共资源,我们的代码该怎么写?复制代码代码如下:'''Createdon2012-9-8@author:walfred@module:thread.ThreadTest3'''
系统 2019-09-27 17:50:57 2403
Python获取时间范围内日期列表和周列表的函数1、获取日期列表#-*-coding=utf-8-*-importdatetimedefdateRange(beginDate,endDate):dates=[]dt=datetime.datetime.strptime(beginDate,"%Y-%m-%d")date=beginDate[:]whiledate<=endDate:dates.append(date)dt=dt+datetime.timed
系统 2019-09-27 17:50:42 2403
#!/usr/bin/python3--coding:utf-8--“”"通过datetime和dateutil进行常用日期的获取如:今年,去年,明年当前季度本月,上月,去年同期,今年一月今天,昨天,明天,本周、本月、本季度、本年第一天,本周、本月、本季度、本年最后一天“”"importdatetime获取常用特定日期(如去年/季度/当月/本周/首日/)=======================================关于年(今年,去年,明年)
系统 2019-09-27 17:50:37 2403
高考在即,笔者想为孩子以后能够快乐学习数学、学习编程找到一个比较合适的项目,经过一番比较发现github上的万星项目manim(https://github.com/3b1b/manim)就非常好。它能够快速构建有关数学的动画,而且非常精确形象。安装Manim虽然manim已经支持Python3.7的,不过安装起来还是比较麻烦,我在ubantu18.04上直接使用安装的过程如下:1.首先尝试直接使用pipinstallmanimlib命令安装,但是会有以下
系统 2019-09-27 17:49:26 2403
前言这几天做自动化测试的同事找到我,说是帮她看看有个AES加密的问题要怎么处理。大概就是文档中贴了一段C#的AES加密代码,然后她要翻译成python的版本,去做一些测试相关的工作。在我印象中,AES加密在不同语言中对接或多或少都有一点点不一样,并不会像同一种一言那么流畅,总是要踩踩坑才能解决。文档中C#版本的实现publicstaticstringAesEncrypt(stringtoEncrypt,stringkey){byte[]keyArray=S
系统 2019-09-27 17:47:55 2403
红包分配算法代码实现发给大家,祝红包大丰收!#coding=gbkimportrandomimportsys#printrandom.randint(0,99)#print"====",random.uniform(0,0.99)defcalRandomValue(min,max,total,num):printmin,max,total,numtotal=float(total)num=int(num)min=0.01if(numreturnifnum=
系统 2019-09-27 17:47:02 2403
importtimetime.sleep(100)print(time.time())print(time.strftime("%Y-%m-%d%a%H:%M:%S"))#yearmonthdayHOURMINUTESECONDprint(time.strftime("%Y/%m/%d%H:%M:%S"))#yearmonthdayHOURMINUTESECONDprint(time.strftime("%m-%d%H:%M:%S"))#yearmonth
系统 2019-09-27 17:46:46 2403
效果代码1.字母和数字转换A↔10,B↔11,...,Z↔35A↔10,B↔11,...,Z↔35A↔10,B↔11,...,Z↔35deftrans(num):#输入数字换为字母或输入字母转换为数字iftype(num)==int:ifnum<10:returnstr(num)else:returnchr(ord('A')+num-10)else:ifnum.isdigit():returnint(num)else:returnord(num)-ord(
系统 2019-09-27 17:46:43 2403
python内存管理机制:引用计数垃圾回收内存池1.引用计数当一个python对象被引用时其引用计数增加1;当其不再被变量引用时引用计数减1;当对象引用计数等于0时,对象被删除(引用计数是一种非常高效的内存管理机制)2.垃圾回收垃圾回收机制:①引用计数,②标记清除,③分带回收引用计数:引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术.当python某个对象的引用计数降为0时,说明没有任何引用指向该对象,该对象就成为要被回收的垃圾了.(
系统 2019-09-27 17:45:59 2403
python字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:1下面的是按照value的值从大到小的顺序来排序。dic={'a':31,'bc':5,'c':3,'asd':4,'aa':74,'d':0}dict=sorted(dic.items(),key=lambdad:d[1],reverse=True)print(dict)输出的结果:[('aa',74),('a
系统 2019-09-27 17:38:09 2403
Thread对象的属性importthreadingfromtimeimportsleep,ctimedefpri(py,n):name=p1.name#线程名id=p1.ident#线程标识符foriinrange(n):print('name=%snow=%sid=%s'%(name,ctime(),id))sleep(1)p1=threading.Thread(target=pri,args=('python',3),name='chian')#p1
系统 2019-09-27 17:56:20 2402
类:理解类最简单的方式:类是一个函数包,类中可以放置变量和函数,然后类中的函数可以很方便的调用变量。使用class来定义一个类#语法:创建一个名为“ClassName”的类,类名一般首字母要大写,():不能丢classClassName():#如定义一个名为'狗'的类,可以写成classDog():#规范:class语句后续的代码块要缩进deffunction1():#定义类中的函数1在类中被定义的函数被称为类的【方法】,描述的是这个类能做什么。我们使用类
系统 2019-09-27 17:55:24 2402
Python操作RabbitMQ工作队列(四)一、工作队列简介:主要介绍,我们将会创建一个工作队列,用于在多个工作人员之间分配耗时的任务。工作队列:又称为任务队列,为了避免等待一些占用大量资源、时间的操作。当我们把任务当作消息发送到队列中,一个运行在后台的工作者进程就会取出任务,然后进行处理。当运行多个工作者,任务就会在它们之间共享。二、准备工作:首先,我们将发送一些字符串,把这些字符串当作复杂的任务,我们使用time.sleep()函数来模拟这种情况。我
系统 2019-09-27 17:55:14 2402