码迷,mamicode.com
首页 > 编程语言 > 详细

Python爬虫实践 —— 1.对反爬机制的认识

时间:2019-12-13 23:43:12      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:单反   sub   输入   bin   hit   cond   世纪   ip池   font   

51zxw发布了一个新课程,是今年二月份的,现在总算是辞职空下来时间了,想着学习下爬虫吧,反正学了也不亏。爬虫算是最简单的东西了,爬虫背靠数据挖掘、数据分析和机器学习,与大数据和AI相比显得没那么高大上,随便一个程序员都能写一个的小爬虫。可是,在数据封锁隐藏,反爬机制不断深入的今天,如何设计爬虫分布式运行架构、有效高匿的代理池、反封号防屏蔽、清洗存储有效数据、优化爬取策略、结合大数据技术,更有效率有质量地获取数据等等云云,也不是看似那么简单。因为当今世纪,数据即是一切,小小爬虫,一定程度上成为了可用信息的源头,这就是爬虫存在的意义。

工欲善其事必先利其器,自学网老师示例用的是sublime,但是接近年底,packge-control因为某些(河蟹)因素暂停了服务(也可能是白嫖的人太多了 ..迫真),之前写selenium又一直用的pycharm,索性就接着用吧。。,配置下Anaconda解释器,接着用我的pycharm,pip install urllib,完事开干。

 

爬虫 本质上来讲 就是做一个模拟浏览器的工作。从最开始的模拟浏览器发 HTTP 请求,发 WebSocket 请求,到后面的模拟浏览器编译 js,其实做的都是一件事情。

 

简单反爬机制

1.请求头验证  User-Agent、Cookie、 Referer

请求头和跳转源是第一层反爬保护,模拟user-agent不同浏览器、客户端的http请求头,添加referer标签模拟跳转源

2.ip 限制 高匿ip代理、自建ip池(ADSL拨号每次也会分配不同ip),ip访问频率设置

验证机器还是人的操作,同一ip多次高频会被永久封禁

3.登陆验证限制

文字选择、划线、图片拖动、结合语义识别(或设置识别线),cookie,OCR,pytesseract,selenium模拟操作,手动输入验证码?。。网络爬人?

4.非静态页 JS混淆加密,Ajax异步加载

哦shit,js反爬,一般两种思路,python重写js内容或execjs第三方库解析js。oh shit 后面在学吧,文字替换,js混淆,加密算法相关知识太多了,好在得慢慢学,还有无头浏览器+selenium有奇效 bingo >__<

Python爬虫实践 —— 1.对反爬机制的认识

标签:单反   sub   输入   bin   hit   cond   世纪   ip池   font   

原文地址:https://www.cnblogs.com/liuchaodada/p/12037637.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!