首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

爬虫浅谈

爬虫浅谈

爬虫就是一个客户端,不过并不会对网页进行渲染。

简单点,构建请求–>请求网络资源。

然而各个网站都是不愿意被自己的资源直接被爬虫所获取,所以增加了一系列的规则,所以爬虫的难度就增加了。

在假期里,多写了几回爬虫,也就多了点经验,可以拿出来谈谈了。

初始的时候,爬虫就是对URL构建请求。当数据请求下来,我们的爬虫就算成功了。随着简易爬虫的构建成功,我们就需要爬取大批量的数据,爬取整站的数据,这个时候,我们会对爬取时间有要求。从根本上解决爬虫时间缓慢的问题便是改变网络环境;从技术上,可以通过多线程、多进程请求下载来缩短时间。

于是,我们武装我们的小爬虫,加入多进程。武装过后的小爬虫,爬取是相当的给力,然而不一会儿服务器就不响应了,或者响应特定的语句“flood alert! you are limited ……”,简言之,“你下载的频率太过分了,你被限制了…”。

好吧,我慢点来!

又一次运行我们的小爬虫,又一次马力十足的进行爬取,然而不一会儿服务器就只是响应“you load too many dataes…..limit….“(你下载太多,被限制了,*-*)。

…..掀桌子

多数网站是有登录限制的,为了保护他们的数据资源,在登录的时候加入验证。不过,魔高一丈,你有验证码,我有打码品台。。又是一番敲代码,成功的获取到验证码并发送到我们的打码平台,嗯哼!

渐渐地,验证码的获取不再是静态的图片,而是一串没请求一次就随机产生图片的URL(丧心病狂呐),我们千辛万苦也只能截取到图片的URL,发送到打码平台后又随机了,码再也不是那个码了。

算了算了,折腾下机器,运行我们的浏览器对整个验证码进行截图,嗯哼!

(算了算了,直接复制浏览器中的cookie,嗯哼!)

总算是可以利用程序登录了,既然我来到了这片花香地,我眼所望之处,便是我的了。。。

然而,flood alert! you are limited ……

然而,you load too many dataes…..limit….

然而,session会话时长仅10分钟

…..掀桌子

现阶段的网站多是异步加载的(可我们要抓取的不一定是现阶段的网站…..),异步加载的数据在我们请求的网页中是获取不到的,可能在浏览器中显示呀,所以我们驱动浏览器对其渲染后进行获取页面,数据还是我们的。*-*

对于异步加载的数据,说白了就是等页面加载完成后在向页面填充数据利用浏览器渲染,渲染多浪费资源啊,大好的时光怎能,,,,我们可以利用浏览器或者抓包工具对网络请求进行监控,对异步请求的格式模拟,直接批量获取数据,恩,武装多进程……

大量的数据获取到后,哇,这是一片未开发的苞米地呀,嗯,以后学数据挖掘!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180306G0O2VP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券