今天

小帅b想给大家讲一个小明的小故事

...

话说

在很久很久以前

小明不小心发现了一个叫做

学习python的正确姿势

的公众号

从此一发不可收拾

看到什么网站都想爬取

有一天

小明发现了一个小黄网

里面的小姐姐

一个比一个诱人

看了一会这个小黄网

小明不知道在倒腾什么

反正30秒之后小明虎躯一震

....

那天晚上

小明躺在床上

夜不能寐

脑子一直都停留在那个小黄网上

突然灵光一闪

我这不是刚学了爬虫技术么

我应该把那个网站上的小姐姐都爬取到自己的电脑啊

就算下次那个小黄网没了

自己也还有东西可看

真是佩服自己的机智啊

.....

第二天小明就开始爬取小黄网了

小明使用

python爬虫入门01:教你在 Chrome 浏览器轻松抓包

抓了一下数据的请求

然后用

python爬虫04 | 长江后浪推前浪,Reuqests库把urllib库拍在沙滩上

开启一顿的骚操作

...

哎~

小明还是太年轻了

这时候网络运维人员看到了自己的服务器

“瓦里割草”

怎么突然被疯狂的请求?

赶紧看一下日志

妈的,都是同一个 IP

谁他妈闲着没事来搞我?

小伙再定睛一看

我去, user-agent 是 python 程序

把小伙子给气的啊

直接把对方的 ip 地址给封了(加入黑名单)

....

小明本来以为一切都能按自己计划行事

没想到突然中断了

小明重新运行了一下程序

发现完全无法连接了

以为是自己的网络断了

可是自己上百度是可以的啊

后来突然想到

好像之前 小帅b 说过

爬虫要学会伪装,要不然很容易被对方识破的

....

原来如此

小明使用了代理ip

把 user-agent 设置为 Chrome 浏览器

然后又开始一顿的爬取了

还特么开启了多线程

....

运维人员又发现不对劲

妈的

这数据不正常,这不正常

肯定有人又来搞事情了

然后就把网站设置为只有登录的人才可以获取数据

.....

小明发现了

觉得这是小意思

在这个网站注册了账号

然后设置了相应的cookie

继续爬!

....

没过多久

小明的手机突然响了

小明以为是自己的外卖到了

拿起电话就说:来了~

结果没想到的是

手机那边传来:wcnmlgb!你他妈再爬你看我不弄死你

吓得小明差点yw

挖槽

原来刚刚自己注册的是自己的手机号码

小明突然觉得自己太 sb 了

....

小明本来想就这样算了的

可是刚被骂的觉得很不爽

小明把自己的手机关机

然后自己注册了很多个账号

搞了多个 cookie 池

一起爬!!

....

这次运维人员慌了

没想到对方这么会搞事情

开始对那些频繁访问的ip给封了

然后给自己的网站加了验证码

谁他妈想要请求数据

都要先输入一次验证码才可以

这次看你怎么搞

....

小明这次真的是杠上了

机器学习识别验证码都搞上了

直接在程序自动识别验证码然后进行请求

这次小明完全不把小帅b放在眼里了

....

运维人员快要没办法了

突然看到了一些大量的请求都只是获取 HTML 数据

但是 js 和 css 这些都不请求的

不合理

于是把整个网站

都不直接返回 HTML 了

用 ajax 加载

.....

小明呵呵一笑

这能难倒我?

拿出最近小帅b说的

python爬虫09 | 上来,自己动 !这就是 selenium 的牛逼之处

直接模仿人类操作

这还没完

听 小帅b 说还有一个叫做 phantomjs 的玩意

selenium + phantomjs 可以达到完全模拟浏览器操作

友情提示:小帅b 下篇推文会跟大家说怎么使用selenium + phantomjs

....

这下

运维人员真的没办法了

玩不动了

只能说一句

真的求求你们了,不要再来爬取了!

...

哈~

本故事纯属乱吹

如有雷同

别在意

最后

大家都是程序员

不容易

别乱搞事情

扫一扫

学习 Python 没烦恼

 

python爬虫10 | 网站维护人员:真的求求你们了,不要再来爬取了!!的更多相关文章

  1. (转)python爬虫----(scrapy框架提高(1),自定义Request爬取)

    摘要 之前一直使用默认的parse入口,以及SgmlLinkExtractor自动抓取url.但是一般使用的时候都是需要自己写具体的url抓取函数的. python 爬虫 scrapy scrapy提 ...

  2. Python爬虫从入门到放弃(十八)之 Scrapy爬取所有知乎用户信息(上)

    爬取的思路 首先我们应该找到一个账号,这个账号被关注的人和关注的人都相对比较多的,就是下图中金字塔顶端的人,然后通过爬取这个账号的信息后,再爬取他关注的人和被关注的人的账号信息,然后爬取被关注人的账号 ...

  3. Python爬虫从入门到放弃(十九)之 Scrapy爬取所有知乎用户信息(下)

    在上一篇文章中主要写了关于爬虫过程的分析,下面是代码的实现,完整代码在:https://github.com/pythonsite/spider items中的代码主要是我们要爬取的字段的定义 cla ...

  4. python爬虫从入门到放弃(九)之 Requests+正则表达式爬取猫眼电影TOP100

    import requests from requests.exceptions import RequestException import re import json from multipro ...

  5. python爬虫10 b站爬取使用 selenium+ phantomJS

    但有时候 我们不想要让它打开浏览器去执行 能不能直接在代码里面运行呢 也就是说 有没有一个无形的浏览器呢 恩 phantomJS 就是 它是一个基于 WebKit 的浏览器引擎 可以做到无声无息的操作 ...

  6. Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider

    1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. github地址: https://github.com ...

  7. Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢

  8. 爬虫 requests模块的其他用法 抽屉网线程池回调爬取+保存实例,gihub登陆实例

    requests模块的其他用法 #通常我们在发送请求时都需要带上请求头,请求头是将自身伪装成浏览器的关键,常见的有用的请求头如下 Host Referer #大型网站通常都会根据该参数判断请求的来源 ...

  9. 爬虫--selenuim和phantonJs处理网页动态加载数据的爬取

    1.谷歌浏览器的使用 下载谷歌浏览器 安装谷歌访问助手 终于用上谷歌浏览器了.....激动 问题:处理页面动态加载数据的爬取 -1.selenium -2.phantomJs 1.selenium 二 ...

随机推荐

  1. Codeforces Round #272 (Div. 2)C. Dreamoon and Sums 数学推公式

    C. Dreamoon and Sums   Dreamoon loves summing up something for no reason. One day he obtains two int ...

  2. Android 完全退出应用程序

    随着业务逻辑越来越复杂,退出应用程序也不像之前那个直接将Activity finish()掉就可以了,在网上看到很多完全退出App的文章,但是实践之后发现,并不像文章中描述的那样,不是方法过时了,就是 ...

  3. 选择排序(1)——简单选择排序(selection sort)

    选择排序是一种很常见的排序算法,它需要对数组 中的元素进行多次遍历.每经过一次循环,选择最小的元素并把它放在靠近数组前端的位置. 代码实现: public static void selectionS ...

  4. 【转载】同步与异步--阻塞与非阻塞型I/O

    同步阻塞IO 在这个模型中,应用程序(application)为了执行这个read操作,会调用相应的一个system call,将系统控制权交给kernel,然后就进行等待(这其实就是被阻塞了).ke ...

  5. RijndaelManaged 加密

    public string Encrypt(string str) { string result = null; if (str == null) { return result; } try { ...

  6. jquery插件开发基本步骤

    一.介绍 插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外一种机制:即给核心 ...

  7. 根据JSON创建对应的HIVE表

    本文提供一种用SCALA把JSON串转换为HIVE表的方法,由于比较简单,只贴代码,不做解释.有问题可以留言探讨 package com.gabry.hiveimport org.json4s._im ...

  8. SpringBoot SpringDataJPA 动态查询、多条件查询

    Spring-data - JPA用的还是比较多的,之前在公司也一直在用,因为方便.下面我们来整理一下如何配置. pom.xml <?xml version="1.0" en ...

  9. Eclipse中Axis2发布WebService

    介绍:Axis是apache下一个开源的webservice开发组件. l  开发工具下载: 1.  eclipse的Java EE版本.下载地址:http://www.eclipse.org/dow ...

  10. Bitmap与String之间的转换

    /** * 将bitmap转换成base64字符串 * * @param bitmap * @return base64 字符串 */ public String bitmaptoString(Bit ...