16
2020
03

描述下scrapy框架运行的机制?

从start_urls里获取第一批url并发送请求,请求由引擎交给调度器入请求队列,获取完毕后,调度器将请求队列里的请求交给下载器去获取请求对应的响应资源,并将响应交给自己编写的解析方法做提取处理:1) 如果提取出需要的数据,则交给管道文件处理;2)如果提取出url,则继续执行之前的步骤(发送url请求,并由引擎将请求交给调度器入队列...),直到请求队列里没有请求,程序结束。
16
2020
03

你常用的mysql引擎有哪些?各引擎间有什么区别?

主要 MyISAM 与 InnoDB 两个引擎,其主要区别如下:1)InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而 MyISAM就不可以了;2)MyISAM 适合查询以及插入为主的应用,InnoDB 适合频繁修改以及涉及到安全性较高的应用;3)InnoDB 支持外键,MyISAM 不支持;4)MyISAM 是默认引擎,InnoDB 需要指定;5)InnoDB 不支持 FULLTEXT 类型的索引;6)I
16
2020
03

你用过的爬虫框架或者模块有哪些?

Python自带:urllib,urllib2第 三 方:requests框 架:Scrapyurllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能。urllib2.:urllib2.urlopen可以接受一个Request对象或者url,(在接受Request对象时候,并以此可以来设置一个URL 的headers),urllib.urlopen只接收一个urlurllib 有urlencode,urllib2没有,因此总是urllib,urllib2常会一起使用的原因
16
2020
03

scrapy和scrapy-redis有什么区别?为什么选择redis数据库?

1) scrapy是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而scrapy-redis一套基于redis数据库、运行在scrapy框架之上的组件,可以让scrapy支持分布式策略,Slaver端共享Master端redis数据库里的item队列、请求队列和请求指纹集合。2) 因为redis支持主从同步,而且数据都是缓存在内存中的,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高。
16
2020
03

如何使用NumPy / SciPy制作3D绘图/可视化?

与2D绘图一样,3D图形超出了NumPy和SciPy的范围,但就像2D情况一样,存在与NumPy集成的包。Matplotlib在mplot3d子包中提供基本的3D绘图,而Mayavi使用功能强大的VTK引擎提供各种高质量的3D可视化功能。
16
2020
03

NumPy和SciPy有什么区别?

1)在理想的世界中,NumPy只包含数组数据类型和最基本的操作:索引,排序,重新整形,基本元素函数等。2)所有数字代码都将驻留在SciPy中。然而,NumPy的一个重要目标是兼容性,因此NumPy试图保留其前任任何一个支持的所有功能。3)因此,NumPy包含一些线性代数函数,即使它们更恰当地属于SciPy。无论如何,SciPy包含更多全功能的线性代数模块版本,以及许多其他数值算法。4)如果你使用python进行科学计算,你应该安装NumPy和SciPy。大多数新功能属于SciPy而非NumPy。
16
2020
03

解释装饰器的用法

Python中的装饰器用于修改或注入函数或类中的代码。使用装饰器,您可以包装类或函数方法调用,以便在执行原始代码之前或之后执行一段代码。装饰器可用于检查权限,修改或跟踪传递给方法的参数,将调用记录到特定方法等
16
2020
03

NumPy阵列在(嵌套)Python列表中提供了哪些优势?

1)Python的列表是高效的通用容器。它们支持(相当)有效的插入,删除,追加和连接,Python的列表推导使它们易于构造和操作。2)有一定的局限性它们不支持元素化加法和乘法等“向量化”操作,可以包含不同类型的对象这一事实意味着Python必须存储每个元素的类型信息,并且必须在操作时执行类型调度代码在每个元素上。3)NumPy不仅效率更高,也更方便你可以获得大量的矢量和矩阵运算,这有时可以避免不必要的工作。4)NumPy数组更快你可以使用NumPy,FFT,卷积,快速搜索,基本统计,线性代数,直
16
2020
03

如何用Python/ NumPy计算百分位数?

importnumpy as npa =np.array([1,2,3,4,5]p =np.percentile(a, 50) #Returns 50th percentile, e.g. medianprint(p)3
16
2020
03

如何在NumPy数组中获得N个最大值的索引?

我们可以使用下面的代码在NumPy数组中获得N个最大值的索引:importnumpy as nparr =np.array([1, 3, 2, 4, 5])print(arr.argsort()[-3:][::-1])4 3 1