• 爬虫概述


    1.爬虫概述

    1.1爬虫的概念

    爬虫,又称网页蜘蛛或网络机器人
    爬虫是模拟人操作客户端(浏览器,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.3爬虫分类

    (1)通用爬虫
    
    (2)聚焦爬虫
    
    1.通用爬虫:搜索引擎
    # 实例:百度, 搜狗, Google的搜索引擎
    # 功能:访问网页 -> 爬取数据 -> 数据处理 -> 提供检索服务
    # 工作流
    	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
    
    2.聚焦爬虫
    # 概念
    	聚焦爬虫指针对某一领域根据特定要求实现的爬虫程序,抓取需要的数据(垂直领域爬取)
    # 设计思路
    	1.确定爬取的url,模拟浏览器向服务器发送请求获取相应数据
        2.进行数据解析
        3.将目标数据持久化到本地
    
  • 相关阅读:
    简单的JS控制button颜色随点击更改
    以 “月” 为单位的可以翻页的效果 显示为 2016年01月
    荷兰国旗 Flag of the Kingdom of the Netherlands
    最大连续子数组以及拓展
    Something Wrong or Something Right
    转载文章----十步完全理解SQL
    数据库关系代数练习题
    SQL server 2014安装以及解决连接数据库失败问题
    回文判断
    字符串的包含
  • 原文地址:https://www.cnblogs.com/hr20-04-19/p/13403234.html
Copyright © 2020-2023  润新知