2021.5.10
-
python中可变数据类型,不可变数据类型
可变数据类型:列表list和字典dict。
不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。 -
知道的状态码
200 请求成功。一”般用于GET与POST请求
301 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新 URI。今后任何新的请求都应使用新的URI代替
302 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
400 客户端请求的语法错误,服务器无法理解
500 服务器内部错误 -
mysql 中怎么查看全部表单语句,增删改查 (未回答上来)
select 字段1、字段2…from 表名 where -
说一下全局解释器锁 (未回答上来)
解决多线程争夺资源的问题,在一条线程使用资源时会对他上锁,其他线程无法使用,等任务结束后会把锁解开,其他线程才可以调用资源,因此同一时刻只有一个线程在运行,在遇到 io 堵塞时会解锁。 -
说一下知道的,反爬机制
验证码,滑块,封ip,url里面有的会带加密参数,js逆向,cookie加密 -
你做过的项目
说了,猫眼的字体加密 -
你遇见的验证码是怎么解决的
借助第三方(超级鹰),和 selenium自动化,来实现 -
scrapy运行流程
引擎等待一个url,爬虫文件给引擎一个要爬的url,引擎拿到url给调度器,调度器把url入队列,然后到这个url就把它给,下载器去下载,然后下载完之后把数据给引擎,引擎返回给爬虫文件,爬虫文件处理是不是url,是url就重复以上流程,是数据就返回给引擎,引擎给item,然后进行保存。
1.引擎:Hi!Spider, 你要处理哪一个网站?
2.Spider:老大要我处理xxxx.com(初始URL)。
3.引擎:你把第一个需要处理的URL给我吧。
4.Spider:给你,第一个URL是xxxxxxx.com。
5.引擎:Hi!调度器,我这有request请求你帮我排序入队一下。
6.调度器:好的,正在处理你等一下。
7.引擎:Hi!调度器,把你处理好的request请求给我。
8.调度器:给你,这是我处理好的request
9.引擎:Hi!下载器,你按照老大的下载中间件的设置帮我下载一下这个request请求。
10.下载器:好的!给你,这是下载好的东西。(如果失败:sorry,这个request下载失败了。然后引擎告诉调度器,这个request下载失败了,你记录一下,我们待会儿再下载)
11.引擎:Hi!Spider,这是下载好的东西,并且已经按照老大的下载中间件处理过了,你自己处理一下(注意!这儿responses默认是交给def parse()这个函数处理的)
12.Spider:(处理完毕数据之后对于需要跟进的URL),Hi!引擎,我这里有两个结果,这个是我需要跟进的URL,还有这个是我获取到的Item数据。
13.引擎:Hi !管道 我这儿有个item你帮我处理一下!调度器!这是需要跟进URL你帮我处理下。然后从第四步开始循环,直到获取完老大需要全部信息。
14.管道、调度器:好的,现在就做! -
scrapy怎么保存
通过管道,在 items(里面定义好,键值对) 传给 pipelines (管道文件,进行保存) -
分布式里面是怎么去重的
url 是根据指纹去重,数据是redis数据库自己会去重 -
分布式里面指纹是怎么生成的
根据(请求体,请求方式,url)来加密生成指纹
加密方式是,哈希 -
redis里面有哪些数据类型
1.String(字符串)
2.Hash(哈希)
3.List(列表)
4.Set(集合) -
scrapy的代理(ip) 怎么设置 (在哪里设置)
在中间件里面设置(具体,用时百度)
可以看 F:\PycharmSeng\scrapy_data\Distributed 中的中间件,可以设置ip -
你遇见的验证码网站有哪些
说了个人人网,登录的时候有验证码。