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

圣诞前夜寒风袭 爬虫美图全集齐

马上就到圣诞节喽,伴随着小闪电的呼噜声,我在这里写下了送给大家的圣诞节祝福:

祝大家圣诞节快乐

135 editor

提起爬虫,很多人都会感觉很神秘,包括以前的我也是一样的,只要是和爬虫的相关的知识我都感觉很高端,后来渐渐的接触的多了,也就慢慢地明白的了究竟什么是爬虫,说说我理解的吧,爬虫本身是一项技术,很有用的一项技术,但是如果被毫无节制的使用,不仅会侵犯他人的知识产权,同时还会浪费过多的服务器资源。

我说的爬虫说的可不是上面这种会爬的生物,其实它是一种网页抓取技术,访问的绝大多数都是正常的网站,只不过它不需要人们正常的打开浏览器输入网址,就可以访问到浏览器中的内容,比如我们可以直接获取到某个网站首页的新闻,或者得到某个数据网站的表格数据,通俗的来说就是通过编写程序来模拟人访问网站的行为,来获取网站页面中的数据。

接下来我来写个小例子来实现一个图片爬虫的功能,本文涉及到的代码只是想说明爬虫的作用,让大家了解一下爬虫并不是那么神秘,所写代码只做学习使用,切记不可用来做获取非法的内容,其实接下来的代码很简单,只能实现很有限的功能,想要做成有实际作用的爬虫真得好好下一番功夫才行。

代码实现部分

首先我们得引入爬虫实现中经常要使用的库:

其中是用来发起去HTTP请求的,是使用正则表达是查找的,是用来做一些系统级别的操作的。接下来定义一下接下来要使用的变量:

前两个变量很容易理解,这里不再赘述,详细说一下最后一个字典类型的变量,实际上就是为了骗过网站服务器,让它感觉是真正的一个人在访问网站,而不是一段程序,这里不得不提一下HTTP请求的一些参数,HTTP 的请求头是在你每次向网络服务器发送请求时,传递的一组属性和配置信息,HTTP 定义了十几种古怪的请求头类型,不过大多数都不常用,只有几种是很常用的,比如:

这里最重要的参数就是了,如果使用默认参数,那么这一项的值默认是,是不是很尴尬,这样一眼不就看出来是程序自动处理的嘛,所以我们要伪装一下,使用变量中的值。

接下来定义一个函数,用来获取保存下载图片需要保存的路径,根据图片的名字命名图片,并且同意保存到目录中:

接着我们再定义一个函数来启动我们的爬虫,首先检查一下目录是否存在,如果不存在就创建一个,然后发送HTTP请求获得数据,数据以二进制形式保存在变量中:

最后,在变量中利用正则表达式查找出所有图片的链接,然后下载保存在本地:

这段代码中比较重要是这一句,就是把HTTTP请求的返回的二进制数据按照utf8编码解析出来,这样通过正则表达式查找出来的图片路径就是正常的,但是有些是中文,如果不做处理就会下载失败,所以后面又加上了就是为了对链接进行URL编码,最后通过函数就可以保存在本地了啊,是不是很简单呢?

以上就是我利用爬虫下载下来的图片喽,如有侵权请通知我,我会尽快删除,其实网络爬虫本身是一门很有用的技术,但是也是一把双刃剑,用错了害人害己,当然了如果只是为了减轻工作量,避免一些重复性操作,在不影响他人的情况下,我感觉偶尔用用还是不错的。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券