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

要点

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

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规定页面外其他所有页面禁止访问。

[Python网络爬虫]第1章 网络爬虫入门_第1张图片
淘宝搜索提示

当爬取网站数据时,无论是否仅供个人使用,都应该遵循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章 网络爬虫入门)