爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!

news/2024/7/8 6:58:04 标签: 爬虫

1 前言
近期,有些朋友问我一些关于如何应对反爬虫的问题。由于好多朋友都在问,因此决定写一篇此类的博客。把我知道的一些方法,分享给大家。博主属于小菜级别,玩爬虫也完全是处于兴趣爱好,如有不足之处,还望指正。

在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长。今天大众好像更倾向于用“网络数据采集”,有时会把网络数据采集程序称为网络机器人(bots)。最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用 HTML 表单或其他网页文件),然后对数据进行解析,提取需要的信息。

说句实在话,如果我的网站总是让人爬来爬取的,经常被虚拟访问者骚扰,我也是蛮烦的,而且如果遇到“霸道”一点的爬虫,都能直接把服务器卡死。因此,我们在爬取别人网站的时候,也多为对方考虑考虑。不过话说回来,我却没有这个烦恼,为什么呢?因为我根本就没有自己的网站。=.=

2 黑科技
网站防采集的前提就是要正确地区分人类访问用户和网络机器人。现在网站有很多技术来防止爬虫,比如验证码,对于一些简单的数字验证码,可以使用训练好的caffemodel诸如此类的模型去识别,准确率还是可以的。当然,也可以在Github搜一搜关于验证码识别的东西,看一看大牛们是怎么玩的。除了这些高大上的,还有一些十分简单的方法可以让你的网络机器人看起来更像人类访问用户。

2.1 构造合理的HTTP请求头
除了处理网站表单,requests 模块还是一个设置请求头的利器。HTTP 的请求头是在你每次向网络服务器发送请求时,传递的一组属性和配置信息。HTTP 定义了十几种古怪的请求头类型,不过大多数都不常用。

每个网站都有不同的请求头,如何获取这个请求头呢?可以用我从前提到过的Fiddler或者审查元素的方法,我们可以根据实际情况进行配置。例如,GET百度根目录的时候,需要添加的请求头信息如下:


http://www.niftyadmin.cn/n/1335553.html

相关文章

组件prop检验

Vue.js中的父子组件相信都已经是大家很常用到的功能了, 父组件通过props属性向子组件传值子组件通过自定义事件向父组件传值 那么我们怎么去校验props属性中的类型呢 笔者列出以下几种方法: 1:直接检测 如果将 string 换成Number 那么在控制台…

网上下载文档需要付费?试试这几招,老师傅一般都会使用

平时在上网找资料时候,当发现下载时候需要付费,我们一般该怎么办呢?扎心啦老铁,难道你就甘心放弃现在找到的文档资料? 其实不用的啦!这里为大家汇总了几个下载文档的方法,大家如果有什么需要下…

也谈GB28181码流收发

1.前置文章 PS封装格式:GB28181协议RTP传输 H265的国标PS流打包 这两篇文章里面有的就不细说了 2.发送的规则细节 在国标中,不需要对H264/H265裸流进行进一步的去NAL等操作,直接发裸流即可。如果一个包发不下,可以分包发送&a…

教你把多个视频合并成一个视频的方法

前几天朋友向我请教视频合并的方法,而说起视频合并相信大部分小伙伴都听说过,但是当中也有部分小伙伴不知道怎么合并视频(多个视频合并成一个视频)。下面就来教大家用迅捷视频转换器把多个视频合并成一个视频的方法。 第一步&…

查询浏览器是否支持html5

js判断 插入js代码 <script> window.onload function() { if (window.applicationCache) { alert("你的浏览器支持HTML5"); } else { alert("你的浏览器不支持HTML5"); } } </script> 2原生标签兼容 <body> <canvas style"bac…

【转】自定义修改Nginx的server

nginx版本暴露会留下不少麻烦&#xff1b;索性一不做二不休&#xff0c;名字也改掉。 1 修改server要在编译Nginx修改/src/core/nginx.h文件 #define NGINX_VERSION "1.20" #define NGINX_VER "mywebserver" 2 修改src/http/ngx_http_header_…

100套精品PPT模板免费拿!以后再也不用怕老板叫你制作PPT了

你还在怕老板叫你制作PPT吗&#xff1f; 说真的制作PPT好麻烦哦&#xff01;不仅需要提前找好素材&#xff0c;还需要规划好制作的思路&#xff0c;如果不是太熟练的话&#xff0c;需要2~3个小时才能制作好&#xff01; 其实不必要那么麻烦啦&#xff01;老板布置下来的任务我…

奇点云完成A轮融资,晨兴资本领投

2月28日消息&#xff0c;近日&#xff0c;“奇点云”已于2018年12月底完成近6000万元A轮融资&#xff0c;晨兴资本领投&#xff0c;IDG资本、浙商创投、禧筠资本跟投。据悉&#xff0c;本次融资完成后&#xff0c;奇点云将深耕、聚焦主要垂直场景。 奇点云于2016年12月成立&am…