平时在爬取某些网页的时候,可能是由于网络不好或者代理池中的代理不能用导致请求失败。此时有们需要重复多次去请求,python中有现成的,相应的包供我们使用:我们可以利用retry模块进行多次请求,如果全部都失败才报错。当然使用retry库之前也需要先安装,eg:import requestsfrom retrying import retry# 这里的headers使用的是手机版的 m_headers = {"User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) Apple...
问题一因为已经有程序占用了Django的默认端口了,所以只要这么启动项目,81是使用的端口,然后访问即可http://127.0.0.1:81/解决: 问题二TypeError: not enough arguments for format string出现这类问题,主要是字符串中包含了%号,python 认为它是转移符,而实际我们需要的就是%, 这个时候,可以使用%%来表示错:Train = train.objects.raw("select * from front_train where R_id in (select R_id from front_route where R_sta...
#属性的初识class Person: def __init__(self,name,hight,weight): self.name = name self.__hight = hight self.__weight = weight @property def bmi(self): return ‘%s 的bmi 值%s‘ %(self.name,self.__weight / self.__hight ** 2) p1 = Person(‘大阳哥‘,1.68,70)# print(p1.bmi())print(p1.bmi)# 属性 : 将一个方法伪装成一个属性,在代码的级别上没有本质的提升,但是让其看起来跟...
一、原因浅析今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关文档才知道在socket编程中,当通过客户端向服务器端发送消息,关闭了连接后,这时如果马上再去运行服务器端程序,会提示这个错误:复制代码 代码如下: socket.error: [Errno 98] Address already in use 这是因为在TCP/IP终止连接的四次握手中,当最后的ACK回复发出后,有个2MSL的时间等待,MSL指一个片段...
Python基本数据类型数字整数:正整数、负整数、0浮点数:整数和小数部分组成,也可用科学记数法表示复数:实部和虚部组成,表示一个复数时可以将其实部和虚部相加(例:3.14+12.5j)字符串字符串就是连续的字符序列,可以是计算机所能表示的一切字符的集合。字符串为不可变序列。字符串的使用方法:引号区别,支持转义字符,r"",布尔类型标志符True和False被解释为布尔类型。Python中的布尔类型可以转化为数值,True表示为1,False...
我最近有一个项目,使用Python在win32下开发一个COM组建,该COM组建其中一个方法是获取本地电脑的MAC地址。需求很简单,虽然我是Python新手中的新手,但我还是会使用搜索引擎进行搜索。百度一下,发现大部分都介绍使用import UUID获取MAC地址,或使用os.popen("ipconfig /all")的方式获取。而后者容易受到操作系统中英文环境影响。如这篇文章:http://www.cnblogs.com/Jerryshome/archive/2011/11/30/2269365.html所以,我很乖的使...
1、GET方式: # -*- coding: utf-8 -*- #!/usr/bin/python # filename: GETPOST_test.py # codedtime: 2014-9-20 19:07:04import bottledef check_login(username, password):if username == ‘123‘ and password == ‘234‘:return Trueelse:return False@bottle.route(‘/login‘) def login():if bottle.request.GET.get(‘do_submit‘,‘‘).strip(): #点击登录按钮# 第一种方式(latin1编码) ## username = bottle.requ...
直接贴代码这里我是想匹配length i 的值并且要打印出data里面%23也就是#的url编码,但是发现这样报错了,这时候我们在%23前面多加一个%号就能够成功执行我这里测试的2.7环境,3.x以上没有测试。。 原文:http://www.cnblogs.com/Mrsm1th/p/6684626.html
最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下。python的标准库里的日志系统从Python2.3开始支持。只要import logging这个模块即可使用。如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用:复制代码代码如下:import logging# 创建一个loggerlogger = logging.getLogger(‘mylogger‘)logger.setLevel(logging.DEBUG)# 创建一个handler,用于写入日志文件fh = logging....
python中一切皆对象,即我们定义的类本身也是对象 那么要注意每个类中可以写一些通用的方法,而且一般对外不可访问,即标识符首尾都有双下划线(没错__init__就是魔术方法之一),这些方法涉及到一些所有类可能都需要的属性,比如__len__可以返回长度,__repr__()直接返回调用这个对象的返回值,(感觉类似c++中的函数对象的处理)。还有__new__()等在init之前创建对象时最先调用的方法,在对象使用结束之后还有一个__del__...
#!/usr/bin/env python # -*- coding: utf-8 -*-import requests from pyquery import PyQuery as pqurl = ‘http://www.136book.com/huaqiangu/‘ headers = {‘User-Agent‘: ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36‘‘ (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36‘ }# 请求网页链接 获取页面源码 r = requests.get(url, headers=headers).text doc = pq(r) # 获取网页的全部章节...
数字:1#二进制转十进制2 a=‘100‘3 v=int(a,base=2) 4print(v)进制转换1#当前数字的二进制至少有多少位2 b=2 3 v2=b.bit_length() 4print(v2)数值二进制表示位数字符串:1#首字母大写2 a="kelvin"3 v=a.capitalize() 4print(v)首字母大写1#终极无敌‘大写‘变‘小写‘---->casefold2 b="KELVIN"3 v1=b.casefold() 4 v2=b.lower() 5print(v1) 6print(v2)大写转小写1#居中显示字符串2 c="kelvin"3 v3=c.center(50,"-") #第二个参数不...
Python中的一个内置的基础类型叫List,类比于OC中的Array..他是有序的,那么下面写一些基础的方法,以备需要时候查阅:1>获取List的长度 len(List)2> 索引访问元素 List[0 ...N]3> 要取最后一个元素,除了计算索引位置外,还可以使用-1索引,如 List[-1] 可以拿到最后一个位置的元素4> List是一个可变的有序表,所以可以追加元素到末尾 List.append("XXX")5> 也可插入到指定位置 List.insert(1,"XXX") 1是代表了...
一:类对象 前面讲的类定义格式中,“class 类名:”。实际上,当解释器执行class 语句时, 就会创建一个类对象。【操作】#测试类对象的生成class Student:pass#空语句print(type(Student)) print(id(Student)) print(Student)s1 = Student() print(s1) Stu2 = Student s2 = Stu2() print(Stu2) print(s2)运行结果: <class ‘type‘> 2220691901896 <class ‘__main__.Student‘> <__main__.Student object at 0x0...
1、append字列表末尾追加新的对象>>>lst=[1,2,3] >>>lst.append(4) >>>lst [1,2,3,4]2、count用于计算某个元素在列表中出现的次数>>>[‘to‘,‘be‘,‘or‘,‘not‘,‘to‘,‘be‘,‘this‘,‘is‘,‘a‘,‘question‘].count(‘to‘) 23、extend即使用一个b列表,来扩展a列表,注意,a列表会被改变。>>>a = [1,2,3] >>>b = [4,5,6] >>>a.extend(b) >>>a [1,2,3,4,5,6]同样的我们可以使用分片赋值4、indexindex方法用于从列表中找出...