Python的常见面试题有哪些

发布时间:2021-11-20 15:22:45 作者:iii
来源:亿速云 阅读:115

本篇内容主要讲解“Python的常见面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的常见面试题有哪些”吧!

一. 遇到过得反爬虫策略以及解决方法?

1.通过headers反爬虫

2.基于用户行为的发爬虫:(同一IP短时间内访问的频率)

3.动态网页反爬虫(通过ajax请求数据,或者通过JavaScript生成)

4.对部分数据进行加密处理的(数据是乱码)

解决方法:

对于基本网页的抓取可以自定义headers,添加headers的数据

使用多个代理ip进行抓取或者设置抓取的频率降低一些,

动态网页的可以使用selenium + phantomjs 进行抓取

对部分数据进行加密的,可以使用selenium进行截图,使用python自带的pytesseract库进行识别,但是比较慢最直接的方法是找到加密的方法进行逆向推理。

二. urllib 和 urllib2 的区别?

三. 列举网络爬虫所用到的网络数据包,解析包?

四. 简述一下爬虫的步骤?

  1. 确定需求;

  2. 确定资源;

  3. 通过url获取网站的返回数据;

  4. 定位数据;

  5. 存储数据。

五. 遇到反爬机制怎么处理?

反爬机制:

headers方向

判断User-Agent、判断Referer、判断Cookie。

将浏览器的headers信息全部添加进去

注意:Accept-Encoding;gzip,deflate需要注释掉

六. 常见的HTTP方法有哪些?

七. 说一说redis-scrapy中redis的作用?

它是将scrapy框架中Scheduler替换为redis数据库,实现队列管理共享。

优点:

  1. 可以充分利用多台机器的带宽;

  2. 可以充分利用多台机器的IP地址。

八. 遇到的反爬虫策略以及解决方法?

  1. 通过headers反爬虫:自定义headers,添加网页中的headers数据。

  2. 基于用户行为的反爬虫(封IP):可以使用多个代理IP爬取或者将爬取的频率降低。

  3. 动态网页反爬虫(JS或者Ajax请求数据):动态网页可以使用 selenium + phantomjs 抓取。

  4. 对部分数据加密处理(数据乱码):找到加密方法进行逆向推理。

九. 如果让你来防范网站爬虫,你应该怎么来提高爬取的难度 ?

  1. 判断headers的User-Agent;

  2. 检测同一个IP的访问频率;

  3. 数据通过Ajax获取;

  4. 爬取行为是对页面的源文件爬取,如果要爬取静态网页的html代码,可以使用jquery去模仿写html。

十. scrapy分为几个组成部分?分别有什么作用?

分为5个部分;Spiders(爬虫类),Scrapy Engine(引擎),Scheduler(调度器),Downloader(下载器),Item Pipeline(处理管道)。

到此,相信大家对“Python的常见面试题有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. 常见的java面试题有哪些
  2. 常见的Python面试题有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Python有哪些高频的面试题

下一篇:Python常见的数据分析库有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》