职场人没有不知道:金三银四,金九银十 的说法儿吧,今天干货奉上,100个Python面试高频题目。 一. 遇到过得反爬虫策略以及解决方法? 1.通过headers反爬虫 2.基于用户行为的发爬虫:(同一IP短时间内访问的频率) 3.动态网页反爬虫(通过ajax请求数据,或者通过JavaScript生成) 4.对部分数据进行加密处理的(数据是乱码) 解决方法: 对于基本网页的抓取可以自定义headers,添加headers的数据 使用多个代理ip进行抓取或者设置抓取的频率降低一些, 动态网页的可以使用selenium + phantomjs 进行抓取 对部分数据进行加密的,可以使用selenium进行截图,使用python自带的pytesseract库进行识别,但是比较慢最直接的方法是找到加密的方法进行逆向推理。 二. urllib 和 urllib2 的区别?
三. 列举网络爬虫所用到的网络数据包,解析包?
四. 简述一下爬虫的步骤?
五. 遇到反爬机制怎么处理? 反爬机制: headers方向 判断User-Agent、判断Referer、判断Cookie。 将浏览器的headers信息全部添加进去 注意:Accept-Encoding;gzip,deflate需要注释掉 六. 常见的HTTP方法有哪些?
七. 说一说redis-scrapy中redis的作用? 它是将scrapy框架中Scheduler替换为redis数据库,实现队列管理共享。 优点:
八. 遇到的反爬虫策略以及解决方法?
九. 如果让你来防范网站爬虫,你应该怎么来提高爬取的难度 ?
十. scrapy分为几个组成部分?分别有什么作用? 分为5个部分;Spiders(爬虫类),Scrapy Engine(引擎),Scheduler(调度器),Downloader(下载器),Item Pipeline(处理管道)。
|
|
来自: 千锋Python学堂 > 《Python基础教程分享》