python爬虫--爬虫与反爬
爬虫与反爬
爬虫:自动获取网站数据的程序,关键是批量的获取。
反爬虫:使用技术手段防止爬虫程序的方法
误伤:反爬技术将普通用户识别为爬虫,从而限制其访问,如果误伤过高,反爬效果再好也不能使用(例如封ip,只会限制ip在某段时间内不能访问)
成本:反爬虫需要的人力和机器成本
拦截:成功拦截爬虫,一般拦截率越高,误伤率越高
反爬虫1
爬虫:对网站的数据感兴趣,着手分析网络请求,用Scrapy写爬虫爬取网站数据
网站:后台监控发现请求中的User-Agent都是python,直接限制访问(不能封ip)
反爬虫2
爬虫:通过在请求头中传递User-Agent参数模拟浏览器请求,可以用UA池
网站:后台监控发现同一ip在某时间段内请求过于频繁,直接限制访问(不能封ip)
反爬虫3
爬虫:在原来的基础上,再通过ip代理向网站发起请求,可以用代理池
网站:后台监控发现ip发生变化,但某一时间段内的请求量过大,对服务器造成过大压力,网站中某些数据直接要求登录才能访问
反爬虫4
爬虫:注册账号,每次请求携带cookie或者token值
网站:健全账号体系,用户只能访问好友信息,非好友信息不能访问,或只能访问部分信息
反爬虫5
爬虫:注册多个账号,多个账号联合爬取,设置程序,每个账号每天固定添加好友,但是养号是个相对耗时的过程
网站:后台监控发现请求过于频繁,为避免服务器压力过大,进一步加剧ip访问频率限制
反爬虫6
爬虫:模拟人去请求,限制请求速度,让代码睡几秒
网站:后台监控到ip访问时间段过长,例如一天24小时都在有规律地请求,弹出验证码
反爬虫7
爬虫:通过各种手段识别验证码(建议使用打码平台,充钱,自己去研究识别验证码太费时,时效性也太差)
网站:增加动态网站,数据通过js动态加载,增加网络分析复杂度,或者发现大量请求时只请求html,而不请求image和css以及js,亦或者直接返回假数据给爬虫
反爬虫8
爬虫:通过正常请求去爬取数据,但有些数据看不到,数据是动态加载的,考虑发了ajax请求
网站:不在前端正常显示
反爬虫9
爬虫:通过一些反爬手段去爬取数据,但得到的不是正常的数据,网站应该是做了某种手段的加密
网站:把内容进行加密
反爬虫10
爬虫:通过selenium和phantomjs(无界面浏览器)完全模拟浏览器操作,例如滑动验证等
网站:......
python爬虫--爬虫与反爬的更多相关文章
- python爬虫之字体反爬
		
一.什么是字体反爬? 字体反爬就是将关键性数据对应于其他Unicode编码,浏览器使用该页面自带的字体文件加载关键性数据,正常显示,而当我们将数据进行复制粘贴.爬取操作时,使用的还是标准的Unicod ...
 - Python爬虫入门教程 62-100 30岁了,想找点文献提高自己,还被反爬了,Python搞起,反爬第2篇
		
学术搜索 学习理论的知识少不了去检索文献,好多文献为你的实操提供了合理的支撑,我所在的大学内网默认是有知网账户的,非常NICE 今天要完成的网站是 http://ac.scmor.com/ Googl ...
 - python网页爬虫开发之五-反爬
		
1.头信息检查是否频繁相同 随机产生一个headers, #user_agent 集合 user_agent_list = [ 'Mozilla/5.0 (Windows NT 6.1; WOW64 ...
 - 【Python3爬虫】突破反爬之应对前端反调试手段
		
一.前言 在我们爬取某些网站的时候,会想要打开 DevTools 查看元素或者抓包分析,但按下 F12 的时候,却出现了下面这一幕: 此时网页暂停加载,自动跳转到 Source 页面并打开了一个 ...
 - Python爬虫入门教程 61-100 写个爬虫碰到反爬了,动手破坏它!
		
python3爬虫遇到了反爬 当你兴冲冲的打开一个网页,发现里面的资源好棒,能批量下载就好了,然后感谢写个爬虫down一下,结果,一顿操作之后,发现网站竟然有反爬措施,尴尬了. 接下来的几篇文章,我们 ...
 - python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题
		
python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题 一丶爬虫概述 通过编写程序'模拟浏览器'上网,然后通 ...
 - 04 Python网络爬虫 <<爬取get/post请求的页面数据>>之requests模块
		
一. urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib ...
 - 04.Python网络爬虫之requests模块(1)
		
引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...
 - Python网络爬虫之requests模块(1)
		
引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...
 
随机推荐
- 小白学 Python 爬虫(3):前置准备(二)Linux基础入门
			
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 Linux 基础 CentOS 官网: https: ...
 - Mac的Safari安装油猴插件(Tampermonkey)
			
Mac的Safari安装油猴插件(Tampermonkey) 官方的AppStore是没有油猴插件(Tampermonkey)的,官方插件不仅少,功能被阉割,相对弱小,还收费.嗯,这很苹果第三方拓展. ...
 - day 28  网络基础相关的知识
			
1.网络基础相关的知识 架构 C/S 架构: client 客户端 server服务器端 优势: 能充分发挥PC机的性能 B/S 架构: browser 浏览器 server服务器 隶 ...
 - 一个HTML5培训班毕业生的找工作随笔
			
昨天刚参加完一个面试,通过了.写个随笔记录一下. 先介绍一下背景. 我是今年十月份的时候从某个培训机构的HTML5 Web前端培训班毕业的,是一个刚进入IT行业的新人. 本人毕业于某三流学校,在参加培 ...
 - 【记录】洛谷P1739-表达式括号匹配AC记
			
题面请查看:https://www.luogu.org/problem/P1739 思路: 见到括号就搜索,搜到与它配对的括号为止,搜不到就输出NO 代码: #include <bits/std ...
 - React组件略讲
			
React是前端组件化开发的开山鼻祖,这种开发方式彻底解决了的前端组件复用的痛点.今天,就来研究一下React组件开发. 前端同学一般都会从Vue入门,因为Vue使用的<template> ...
 - yum运行报错:File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^SyntaxError: invalid syntax
			
这是由于Python升级导致 备份Python 历史版本 [root@sdw1 autoconf]# ls /usr/bin/python* [root@sdw1 autoconf]# mv /usr ...
 - [ASP.NET Core 3框架揭秘] 配置[2]:读取配置数据[下篇]
			
[接上篇]提到“配置”二字,我想绝大部分.NET开发人员脑海中会立即浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化的配置定义 ...
 - 利用scatter()绘制颜色映射的二次方曲线
			
程序如下: import matplotlib.pyplot as plt x_value = list(range(1, 1001)) y_value = [x**2 for x in x_valu ...
 - Windows下通过VMWare安装linux
			
VMWare虚拟机安装linux 虚拟机的概念 虚拟机,其本质其实也是一个程序. 但是这个程序,模仿了一台完整的主机常用的有 VMware,VirtualBox,Microsoft Virtual P ...