写python协程时使用gevent模块和queue模块可以大大提高爬虫速度。在同时爬取多个网站时,原来用for循环一个网站一个网站按循序顺序爬,就像先烧饭后烧菜,两个步骤异步进行。使用多协程可以让爬虫自己选择爬取顺序,就像边烧饭边烧菜,两个步骤同步进行,速度自然快了。不多说了,来看下代码吧:fromgeventimportmonkeymonkey.patch_all()#打上多协程布丁,下面的程序就可以执行多协程了importrequests,geven
系统 2019-09-27 17:47:59 1991
目录Python并发编程06/同步/异步调用/异步调用+回调函数1.如何看源码2.昨日回顾3.阻塞、同步调用、异步调用3.1概念3.2异步调用3.3同步调用3.4异步如何取结果4.异步调用+回调函数4.1浏览器工作原理4.2什么叫爬虫4.3异步调用+回调函数Python并发编程06/同步/异步调用/异步调用+回调函数1.如何看源码2.昨日回顾#1.递归锁:RLock,同一把锁,引用一次计数+1,释放一次计数-1,只要计数不为零,其他线程就抢不到,能解决死锁
系统 2019-09-27 17:47:25 1991
本文以实例形式简述了Python中字符串类型与字典类型相互转换的方法,是比较实用的功能。具体方法如下:一、字典(dict)转为字符串(string)我们可以比较容易的将字典(dict)类型转为字符串(string)类型。通过遍历dict中的所有元素就可以实现字典到字符串的转换:forkey,valueinsample_dic.items():print"\"%s\":\"%s\""%(key,value)二、字符串(string)转为字典(dict)如何将
系统 2019-09-27 17:46:40 1991
涉及到详情页爬取目录结构:kaoshi_bqg.pyimportscrapyfromscrapy.spidersimportRulefromscrapy.linkextractorsimportLinkExtractorfrom..itemsimportBookBQGItemclassKaoshiBqgSpider(scrapy.Spider):name='kaoshi_bqg'allowed_domains=['biquge5200.cc']start_
系统 2019-09-27 17:46:11 1991
在实现异步调用之前我们先进行什么是同步调用和异步调用同步:是指完成事务的逻辑,先执行第一个事务,如果阻塞了,会一直等待,直到这个事务完成,再执行第二个事务,顺序执行异步:是和同步相对的,异步是指在处理调用这个事务的之后,不会等待这个事务的处理结果,直接处理第二个事务去了,通过状态、通知、回调来通知调用者处理结果分析一下,下面的例子:定义了一个装饰器async和A、B两个function函数A里面sleep10s,然后打印afunction字符串B里面直接打
系统 2019-09-27 17:45:52 1991
常用的简单的用法:fromxlrdimportopen_workbookbook=open_workbook(r'C:\Users\admin\Desktop\q.xlsx')sheet=book.sheets_names()[0]#第一个工作表名称sheet=data.sheet_by_name('Sheet1')#获得第一个工作表sheet=book.sheets()[0]#获得第一个工作表#获取总行数nrows=table.nrows#获取总列数nc
系统 2019-09-27 17:45:47 1991
在不同平面上绘制二维条形图。本实例制作了一个3d图,其中有二维条形图投射到平面y=0,y=1,等。演示结果:完整代码:frommpl_toolkits.mplot3dimportAxes3Dimportmatplotlib.pyplotaspltimportnumpyasnp#Fixingrandomstateforreproducibilitynp.random.seed(19680801)fig=plt.figure()ax=fig.add_subpl
系统 2019-09-27 17:38:47 1991
本节讲解了flask的请求,如果想在没有请求的情况下获取上下文,可以使用test_request_context()或者request_context(),从request对象的form中可以获取表单的数据,args中可以获取URL中的参数,files可以获取上传的文件,cookies可以操作cookie。首先你需要从flask模块中导入request:fromflaskimportrequest当前请求的方法可以用method属性来访问。你可以用form
系统 2019-09-27 17:38:46 1991
本文记录了初学Python常用的两则实用技巧,分享给大家供大家参考之用。具体如下:1.可变参数示例代码如下:>>>defpowersum(power,*args):...'''''Returnthesumofeachargumentraisedtospecifiedpower.'''...total=0...foriinargs:...total+=pow(i,power)...returntotal...>>>powersum(2,3,4)25>>>po
系统 2019-09-27 17:38:24 1991
python3shelve模块的详解一、简介在python3中我们使用json或者pickle持久化数据,能dump多次,但只能load一次,因为先前的数据已经被后面dump的数据覆盖掉了。如果我们想要实现dump和load多次,可以使用shelve模块。shelve模块可以持久化所有pickle所支持的数据类型。二、持久化数据1、数据持久化importshelveimportdatetimeinfo={'name':'bigberg','age':22}
系统 2019-09-27 17:38:13 1991