美文网首页
[Python网络爬虫]第1章 网络爬虫入门

[Python网络爬虫]第1章 网络爬虫入门

作者: LINCHUAN114 | 来源:发表于2018-08-29 09:25 被阅读55次

    要点

    • 介绍网络爬虫的基础部分
      • 学习网络爬虫的原因
      • 网络爬虫带来的价值
      • 网络爬虫是否合法
      • 网络爬虫的基本议题和框架

    1.1 为什么要学网络爬虫

    1.1.1 网络爬虫能带来什么好处

    网络爬虫主要是解决无法自动化无法实时获取两个痛点。

    对于公开数据的应用价值,我们可以用KYC框架进行简单描述性分析:

    • Know your company(了解你的公司)
    • Know your competitor(了解你的竞争对手)
    • Know your customer(了解你的客户)
      在营销领域,通过机器学习和统计算法分析,可以帮助企业做好4P(Product、Place、Price、Promotion)

    1.1.2 能从网络上爬取什么数据

    平时浏览网站时所有能看见的数据。

    1.1.3 应不应该学爬虫

    1.2 网络爬虫是否合法

    1.2.1 Robots协议

    Robots协议(爬虫协议)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些网页可以抓取,哪些网页不能抓取。样例为淘宝网的robots.txt:https://www.taobao.com/robots.txt

    User-agent:  Baiduspider  # 百度爬虫引擎
    Allow:  /article
    Allow:  /oshtml
    Allow:  /ershou
    Disallow:  /product/ # 禁止访问/product/12345.com
    Disallow:  /  # 禁止访问除Allow规定页面外的其他所有页面
    
    User-Agent:  Googlebot   # 谷歌爬虫引擎
    Allow:  /article
    Allow:  /oshtml
    Allow:  /product
    Allow:  /spu
    Allow:  /dianpu
    Allow:  /oversea
    Allow:  /list
    Allow:  /ershou
    Disallow:  /
    

    可以看出,Allow的为允许robot访问的,Disallow是不允许爬虫访问的,其中最后一条Disallow: /规定除了Allow规定页面外其他所有页面禁止访问。

    淘宝搜索提示

    当爬取网站数据时,无论是否仅供个人使用,都应该遵循Robots协议

    1.2.2 网络爬虫的约束

    由于过快或频密的网络怕从都会对服务器产生巨大压力,所有网站有可能会封锁你的IP。

    1.3 网络爬虫的基本议题

    首先提问两个宏观上的问题:

    • Python爬虫的流程是怎么样的?
    • 三个流程的技术实现是什么?

    1.3.1 Python爬虫的流程

    1. 获取网页:给一个网址发送请求,该网址会返回整个网页的数据
    2. 解析网页(提取数据):从整个网页的数据中提取想要的数据
    3. 存储数据:将数据存储下来

    1.3.2 三个流程的技术实现

    1. 获取网页

    基础技术:requesturllibselenium(模拟浏览器)
    进阶技术:多进程多线程抓取、登陆抓取、突破IP封禁和服务器抓取

    2. 解析网页

    基础技术:re正则表达式、BeautifulSouplxml
    进阶技术:解决中文乱码

    3. 存储数据

    基础技术:存入txt文件、csv文件
    进阶技术:存入Mysql或MongoDB数据库

    相关文章

      网友评论

          本文标题:[Python网络爬虫]第1章 网络爬虫入门

          本文链接:https://www.haomeiwen.com/subject/tsfhwftx.html