PYTHON爬⾍测试题(⾯试必备)
爬⾍测试题(⾯试必备)
1.简述⼀下爬⾍的步骤
答案:
matlab length函数用法1.确定需求(⼈)
2.确定资源(⼈)
3.通过URL获取⽹站的返回信息(爬⾍)
4.定位数据(爬⾍)
5.存储数据(程序)
2.遇到反爬机制怎么处理
答案:
反爬机制(headers):
1.判断User-Agent
2.判断Referer
3.判断Cookie
如果以上操作还是没有成功爬取页⾯,就⽤将浏览器中的全部头信息放进来
注意:如果把全部headers拿过来的话记得把Accept-Encoding: gzip, deflate注释掉
3.Http与Https的区别是什么?
• HTTP 的URL 以开头,⽽HTTPS 的URL 以开头
• HTTP 是不安全的,⽽ HTTPS 是安全的
• HTTP 标准端⼝是80,⽽ HTTPS 的标准端⼝是443
• 在OSI ⽹络模型中,HTTP⼯作于应⽤层,⽽HTTPS 的安全传输机制⼯作在传输层
• HTTP ⽆法加密,⽽HTTPS 对传输的数据进⾏加密
• HTTP⽆需证书,⽽HTTPS 需要CA机构颁发的SSL证书
• HTTP全称是Hyper Text Transfer Protocol,中⽂全称为超⽂本;
• HTTPS全称是Hyper Text Transfer Protocol over Secure Socket Layer,也就是说⽐HTTP多了安全层,通俗的讲来说就是HTTP的安全版;
4.常见的页⾯数据抽取⽅式有哪些?
xpath
beautifulsoup4
re
jsonpath
答案:
re.match:尝试从字符串的起始位置匹配⼀个模式,如果不是起始位置匹配成功的话,match()就返回None;
python基础知识测试re.search:扫描整个字符串并返回第⼀个成功的匹配
match于search的区别:re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;⽽re.search匹配整个字符串,知道到⼀个匹配;
re.findall:在字符串中到正则表达式所匹配的所有⼦串,并返回⼀个列表,如果没有到匹配的,则返回空列表.注意:match和search是匹配⼀次findall匹配所有; re.finditer和findall类似,在字符串中到正则表达式所匹配的所有⼦串,并把它们作为⼀个迭代器返回
6.如果让你来防范⽹站爬⾍,你应该怎么来提⾼爬取的难度?数据表格图片
答案:
1.爬取⾏为是对页⾯的源⽂件爬取,如爬取静态页⾯的html代码,可以⽤jquery去模仿写html
2.对Headers的User-Agent进⾏检测
3.通过检测⽤户⾏为,同⼀IP短时间内多次访问同⼀页⾯,或者同⼀账户短时间内多次进⾏相同操作
4.数据通过ajax来获取
7.考虑如下表结构,写出建表语句
ID(⾃增主键) NAME(⾮空) Blance(⾮空)
1 A 19.50
火狐浏览器pc2 A 20.50
3 B 100.00
python list 长度为什么replace函数用不了create table text (id int primary key,NAME varchar(10)not null,Blance double not null);
8.--删除stu表中id值为20到30的数据(等级于上⾯写法)
mysql> delete from stu where id between 20and30;
9.查询lamp138期的男⽣信息(sex为m)
mysql> select *from stu where classid='lamp138'and sex='m';
10.排除stu表中前2条后再获取4条信息
mysql> select *from stu limit 2,4;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论