摘要: 执行结果:只要启动服务器端,然后不同的客户端多次启动都能收到信息,多个端口成功被监听 2. 下面使用select模块实现多路复用,使同一个端口同时接收多个链接 启动这个服务端之后,就可以实现多路复用了,可以接收多个客户端同时连接 3.下面介绍一些多路操作里面的读写分离 这样可以形成简单的读写分离操作 阅读全文
posted @ 2018-07-22 14:47 benchdog 阅读(281) 评论(0) 推荐(0) 编辑
摘要: from twisted.internet import defer from twisted.web.client import getPage from twisted.internet import reactor def download(*args,**kwargs): print(args,kwargs) def stop(*args,**kwargs): re... 阅读全文
posted @ 2018-07-21 22:38 benchdog 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 在spiders同级创建任意目录,如:commands 在其中创建 crawlall.py 文件 (此处文件名就是自定义的命令) 在settings.py 中添加配置 COMMANDS_MODULE = '项目名称.目录名称' 在项目目录执行命令:scrapy crawlall 阅读全文
posted @ 2018-07-21 22:36 benchdog 阅读(185) 评论(0) 推荐(0) 编辑
摘要: EXTENSIONS = { # 'scrapy.extensions.telnet.TelnetConsole': None, 'pro_scrapy.extensions.MyExtend': 300,} # -*- coding: utf-8 -*- # Scrapy settings for 阅读全文
posted @ 2018-07-21 19:09 benchdog 阅读(886) 评论(0) 推荐(0) 编辑
摘要: 我们通常使用 __init__ 来初始化时,会为其添加数据属性,例如 self.name = xxx ,但是却几乎不会为实例添加方法,也就是说实例中的方法,都是在类中找的。这样做其实有好处,因为方法一般是通用的,如果每一个实例都要保存一套方法的话,实在太浪费资源,而把这些方法统一保存到类中,用到的时 阅读全文
posted @ 2018-07-11 16:06 benchdog 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 类属性和对象属性在使用上的区别: 会发现student1引用的money属性的内存地址已经和另外两个的不一样了而另外两个的内存地址却还是一样的,原因如下:在经过表达式student1.money -= 1000 的过程如下:第一次引用money属性时,经历的过程如下:会先在对象中查找是否有money 阅读全文
posted @ 2018-07-11 15:54 benchdog 阅读(10963) 评论(0) 推荐(4) 编辑
摘要: #-*- coding:utf-8 -*- # # from bs4 import BeautifulSoup # # import requests,time # import random # import os # # with open('doc.html') as rf: # # soup = BeautifulSoup(rf,'html.parser') # # pr... 阅读全文
posted @ 2018-07-11 15:41 benchdog 阅读(1427) 评论(0) 推荐(0) 编辑
摘要: @property的作用是:直接运行被装饰的函数,不能带参数,表面上看就是在被装饰的函数后面直接加括号。 阅读全文
posted @ 2018-07-11 15:36 benchdog 阅读(628) 评论(0) 推荐(0) 编辑
摘要: classmethod 和 staticmethod 非常相似,但在用法上依然有一些明显的区别。classmethod 必须有一个指向 类对象 的引用作为第一个参数,而 staticmethod 可以没有任何参数。 staticmethod 没有任何必选参数,而 classmethod 第一个参数永 阅读全文
posted @ 2018-07-11 15:16 benchdog 阅读(142) 评论(0) 推荐(0) 编辑
摘要: soup = BeautifulSoup(html_doc,features='lxml')tag1 = soup.find(name='a') #找到第一个a标签,返回一soup对象tag2 = soup.find_all(name='a') #找到所有a标签,返回一列表,列表中所有元素为soup对象tag3 = soup.select('#link2') #找到id=link2的标签n... 阅读全文
posted @ 2018-07-09 23:17 benchdog 阅读(249) 评论(0) 推荐(0) 编辑