互联网造假的基本工具

2018年10月31日20:21:57互联网造假的基本工具已关闭评论 120 views
一、爬虫是什么

大东:小白,平时作业都是自己做的不?

小白:大大大东东,怎怎怎么了?

大东:瞧你吓得都结巴了。

小白:我我我这么一个好学生,怎么能干抄作业这种事呢!

大东:好,知道你不抄作业了,那有同学抄你的作业不?

小白:有哇!特别是检查作业的前一天,我同学就做一溜儿,一块儿抄,可壮观了。

大东:在网络的世界,也有人也喜欢抄“作业”呢。

小白:诶!是谁!

大东:它叫做网络爬虫

小白:久仰大名!

大东:网络爬虫,也可以叫做网页蜘蛛、网络机器人,还有一个文艺的名字——网页追逐者。网络爬虫是一种按照预定的规则,自动从万维网抓取所需信息的程序或者脚本。

小白:好好研究下可以替我自动抓取作业答,偶不,课外材料,听起来很不错的样子~

互联网造假的基本工具

网络爬虫(图片来自网络)

二、爬虫能干嘛

小白:这个网络爬虫啥都能抓么?

大东:只要在编写的时候定义好,就能按照你的要求抓取,从这个角度上来说就是想抓什么抓什么。常见的,可以用来网页文本、图片、视频。

小白:哇哦~

大东:根据网络爬虫的爬取对象、程序结构和使用技术,通常可分为以下四类:通用型爬虫、聚焦型爬虫、增量型爬虫和深层爬虫。

小白:还有这么多讲究呢!

大东:通用型爬虫又成为全网爬虫,主要应用于搜索引擎。通用爬虫从起始的 URL 开始,能获取全网页面,工作量庞大,要求储存容量大、处理速度快、工作性能强大。

小白:不管要不要,都先给弄下来!

大东:聚焦型爬虫专注于特定网页和特定信息的爬取,只搜索和爬取事先定义的关键信息。聚焦型通常用于为数据分析工作的数据搜集阶段,有很强的针对性。

小白:不求量,只求准!

大东:增量型爬虫在固定一段时间自动对网页进行重新爬取,能获取到网页更新的内容,并储存到数据库。

小白:有点自动化的意思!

大东:深层爬虫能够代替人工对网页上的文字、图片等信息进行快读抓取及保存,通常针对需要提交登陆数据才能进入的页面。深层爬虫能自动化处理图片保存的复杂操作,同时获得大量感性认识难以得到的数据,为后续的决策提供支撑。

小白:哇,这个最厉害量!省去了好多人力呢~

互联网造假的基本工具

蜘蛛侠(图片来自网络)

三、一个简单爬虫的修养

小白:爬虫这么好用,我也想写个一个试试,大东东快给我讲讲怎么做吧~

大东:爬虫一般有两种工作方式:一是模拟真实用户,在页面上进行操作;而另一种则是向网站发起 HTTP 请求,直接获取整个页面的内容。

小白:噢~第一种我有所了解,可以使用软件测试工具来模拟用户的浏览和点击操作,比如在 python 语言下,Selenium 就是一个可以用来模拟用户操作的包,再加上 lxml 包对网页的一个图图框框进行定位,简直完美~

大东:没想到咱小白也有经验呢。

小白:嘻嘻嘻,人不可貌相~

大东:那另一种方式,也拿 python 语言为例,则是程序先发使用 HTTP 库向目标网站发起一个请求,等待服务器响应。如果服务器能正常响应,程序就能收到一个 Response。这 Response 里的内容便是所要获取的页面内容,它有可能有 HTML,Json 字符串、二进制等类型的数据,程序还需要继续对内容进行解析和提取,最终才能获得所需对信息。

小白:听起来也不错呢~

大东:一般来说,第二种方式比第一种效率更高。

小白:好!今晚我就可以回去写个爬虫了~

大东:爬虫程序一般也分为几个模块,分别负责不同功能。简单地来说,爬虫调度端用来控制和监控爬虫的运行情况;URL 管理器对要爬取的目标网站对 URL 和已经爬取过的 URL 进行管理;网页下载器从 URL 管理器中的 URL 中下载网页,并生成字符串;网页解析器需要对网页下载器完成的内容进行解析,一方面解析出有用的价值数据,一方面将网页中的链接取出送到 URL 管理器里。

小白:哇,小小的一个爬虫,也是分工有序呢~

互联网造假的基本工具

爬虫程序的基本流程(图片来自网络)

四、反爬技术

小白:大东东,我有个问题。总有些同学不愿意轻易分享他的劳动成果,那只要不让别人看他的作业就行了。但在这个网络上,网站都是公开的,谁都能看到,要是我不想让别人抄,这该怎么办呀?

大东:有爬虫技术,当然也有反爬技术了。

小白:前排听讲~

大东:据我了解,目前的反爬技术大致分为四种。最为经典的反爬虫策略当属“验证码”了。

小白:我知道~是不是那个永远输不对的反人类验证码!

大东:是的,因为验证码是图片,用户登录时只需输入一次便可登录成功,程序在抓取数据过程中,就需要不断的登录,抓取1000个用户的个人信息,就需要填1000次验证码,这就能减缓甚至拦下程序的爬取进程。

小白:哇,真是个难题啊。

大东:另外一种比较狠的反爬虫策略当属封 IP 和封账号了。网站一旦发现某个 IP 或者网站账号有爬虫的嫌疑,立刻对账号和 IP 进行查封,短时间甚至永久都不能再通过这个 IP 或账号访问网站了。

小白:这个太狠了!

大东:比较常见的是通过 cookie 限制抓取信息,比如程序模拟登陆之后,想拿到登陆之后某页面信息,还需要请求一些中间页面拿到特定 cookie,然后才可以抓到我们需要的页面。

小白:操作更繁琐了呢。

大东:另外一种比较常见的反爬虫模式当属采用 JS 渲染页面了。什么意思呢,就是返回的页面并不是直接请求得到,而是有一部分由 JS 操作数据文件得到的,那部分数据也是我们拿不到的。

小白:看来大家为了阻止自己的“作业”被抄袭,都想尽了办法呢!

大东:所以小白啊,从现在开始,不管是你还是你的同学,都好好写作业吧,想靠抄袭得到好成绩,迟早会有“报应”的!

小白:那必须好好做呢~

互联网造假的基本工具

对抗(图片来自网络)

weinxin
扫码,关注科塔学术公众号
致力于成为国内领先的科研与学术资源导航平台,让科研工作更简单、更有效率。内容专业,信息准确,更新及时。
avatar