zoukankan      html  css  js  c++  java
  • 爬虫学习笔记(一)初识爬虫

    什么是爬虫?

    爬虫是什么呢,就是地上爬的小虫子,就是爬虫咯。呵呵,开个玩笑,一般说的爬虫都是网络爬虫。那什么是网络爬虫呢,百度百科的解释是这样子的:

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫

    额,这一大坨,总结来说就一句话,就是从某个网站上获取某些你想要数据,然后保存起来。

    爬虫能干嘛?

    爬虫可以帮你爬到你想要的东西,比如说你想下载某个网站上面的图片、小视频、文章、文件,或者说你们公司想获取到对手公司网站上的一些数据用来分析市场,或者想要获取某一类网站用户的行为,用来分析用户的以后的走向,都可以用爬虫来获取到数据。再比如说你要做个什么内容类的app,类似今日头条的,那它里面的这些内容从哪里来的,它就是用爬虫,爬各种网站上热点新闻、八卦信息等等,再经过自己的加工放给用户去看。

    爬虫的原理和实质

    咱们要从一个网站下载一个图片的话怎么办,要浏览器里面打开这个网站, 然后右键保存图片到本地。

    那爬虫呢,就是写代码把上面的这个过程自动化,自动帮咱们做这个操作,不需要咱们再手动点了。这就是爬虫的原理。

    爬虫的实质呢,就是写代码发http请求(浏览器里面打开发送的都是http请求),然后获取到response,咱们再从response里面找到想要的数据,存储到本地。

    什么是爬虫协议?

    爬虫协议就是你想用爬虫爬我的网站,那么你得听我的,哪些你能爬,哪些你不能爬。

    怎么查看一个网站的爬虫协议呢,就在这个网站的域名后面加上robots.txt

    比如说下面有:jd、百度、淘宝的爬虫协议

    jd:https://www.jd.com/robots.txt

    淘宝的:https://www.taobao.com/robots.txt

    百度的:https://www.baidu.com/robots.txt

    如果你要爬的网站域名加上robots.txt是404,那你就可以随心所欲的爬了。

    不过就算爬虫协议里面写了,你也可以不遵守,但是也得注意一下,有的公司发现的话,会起诉的。比如说前几年著名的百度控诉360爬虫违反爬虫协议,赔偿70w。

    爬虫协议里面有这么几个字段:

            User-agent:*
           这个字段的意思是允许哪个引擎的爬虫获取数据
           * 代表所有类型的爬虫都可以
           Disallow:/admin/
            这个字段代表爬虫不允许爬哪个路径下面的数据,如果是/的话,就代表所有的路径下面的数据都不能爬。

    什么是反爬虫?

    因为会有一些恶意的人,恶意的去用爬虫爬咱们的系统,获取一些数据用来做一些不好的事情,这样就会咱们的网站造成危害。

    反爬虫就是干这个事的,网站后台有程序专门检测发这个请求是爬虫发的,还是用户的正常请求(发请求就是打开一个页面),如果是爬虫发的话,那么就不给它返回数据,这就是反爬虫。

    当然有反爬虫那就有针对反爬虫的策略,就是看谁技术高低的问题了~

  • 相关阅读:
    NVMe固态硬盘工具箱使用说明
    (原创)Python文件与文件系统系列(1)—— file 对象
    Linux系统排查4——网络篇
    Python内置类型——list
    (原)数据结构——线索二叉树
    Python匿名函数——lambda表达式
    Python生成器
    Python内置类型——dict
    Python内置类型——set
    解决Django-1.8.2应用部署到Apache后无法显示admin应用的CSS
  • 原文地址:https://www.cnblogs.com/sriba/p/8043284.html
Copyright © 2011-2022 走看看