• 爬虫初识


    爬虫概述

    爬虫,又称网页蜘蛛或网络机器人
    爬虫是模拟人操作客户端(浏览器,APP)  想服务器发起网络请求  抓取数据的自动化程序或脚本
    Pyinstaller
    # 说明:
    1.模拟:用爬虫程序伪装出人的行为,避免被服务器识别为爬虫程序
    2.客户端:浏览器,APP都可以实现人与服务器之间的交互行为,应用客户端从服务器获取数据
    3.自动化:数据量较小是可以人工获取数据,但往往在公司中爬取的数据量在百万条,千万条级别的,所以要程序自动化获取数据
    

    1.2 爬虫语言

    # 爬虫语言:PHP,C/C++,java,Python,Golang,nodejs
    # 对比:
     PHP:并发能力差,对多进程和多线程支持不好,数据量较大时爬虫效率较低
     C/C++:语言效率高,但学习成本高,对程序员的技术能力要求较高,所以目前还停留在研究层面,市场需求量很小
     Java:Python爬虫的主要竞争对手,由于Java语言的特点,代码臃肿,代码量大,维护成本重构成本高,开发效率低,但目前市场上岗需求比较旺盛
     Python:语法简单,学习成本低,对新手比较友好,Python语言良好的生态,大量库和框架的支持是Python爬虫目前处于爬虫圈的主地位。
     
    

    1.2 能爬取那些数据
    (1)网页文本:HTML、JSON格式文本等
    (2)图片、视频:都是二进制数据

    1.3 爬虫分类

    1. 通用爬虫
    2. 聚焦爬虫
    1.通用爬虫: 搜索引擎
    # 实例:百度,搜狗,Goole的搜索引擎
    # 功能:访问网页 -> 抓取数据 -> 数据处理 -> 提供检索服务
    # 工作流程:
    	1. 给定一个起始的URL,存于爬取队列中
     	2. 爬虫程序冲队列中取出url,爬取数据
     	3. 解析爬取数据,获取网页内的所有url,需要的数据,存入爬取队列
     	4. 重复第二个步骤
    # 搜索引擎获取网站链接:
     	1. 主动将url提交给搜索引擎(https://ziyuan.baidu.com/linksubmit/url)
     	2. 在其他热门网站设置友情链接
     	3. 百度和DNS服务商合作,收录新网站
    # 网站排名(SEO):
    	1. 根据PageRank值进行排名(流量,点击率)
     	2. 百度竞价排名,钱多就靠前排
    # 缺点:
    	1. 抓取内容多数无用
    	2. 无法精确获取数据
    # 协议: robots协议 --> 约定哪些内容允许那些爬虫抓取
    	1. 无需遵守,该协议适用于通用爬虫同样也适用于聚焦爬虫,而我们写的是聚焦爬虫
    	2. 查看方法: 网站 url/robots.txt,如: https://www.baidu.com/robots.txt
            User-Agent:xxx      //可以被允许的浏览器
            Allow:xxx              //允许你做的事情
            Disallow:xxx          //不允许你做的事情
            Sitemap:xxx        //如果你非要爬的话,别瞎搞,我给你一个站点地图,你去那里面随便爬好吧
    
    2. 聚焦爬虫
    # 概念:
    	聚焦爬虫只针对某一领域根据特定要求实现的爬虫程序,抓取需要的数据(垂直领域爬取)
    # 设计思路:
    	1. 确定爬取的url,模拟浏览器向服务器发送请求获取响应数据
    	2. 进行数据解析 --> 目标数据
    	3. 将目标数据持久化到本地 --> 存起来
    
  • 相关阅读:
    从尾到头打印链表(基于js)
    替换空格(基于js)
    二维数组的查找(基于js)
    关于document对象
    js之DOM操作总结
    将博客搬至CSDN
    关于js中的数组
    干货集中营
    vim编辑器学习记录
    python3 多线程爆破ftp、mysql、ssh
  • 原文地址:https://www.cnblogs.com/Beginner-Y/p/13208675.html
Copyright © 2020-2023  润新知