网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本。爬虫其实是通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程。
爬虫的价值:
抓取互联网上的数据,为我所用,有了大量的数据,就如同有了一个数据银行一样,下一步就是如何将这些数据产品化、商业化。
爬虫是否合法
网络爬虫在法律中是不被禁止,但是具有违法风险,通常来说爬虫分为善意的爬虫和恶意的爬虫。爬虫带来的风险可以体现在如下两个方面:
- 爬虫干扰了被访问网站的正常运营
- 爬虫抓取了受法律保护的特定类的数据或信息
那么我们如何在使用编写爬虫的过程中避免进入局子的厄运呢?
- 时常优化自己的程序,避免干扰被访问网站的正常运行
- 在使用、传播爬取到的数据时,审查抓取到的内容,如果发现涉及到用户隐私或者商业机密等敏感内容,需要及时停止爬取或传播
爬虫在使用场景中的分类
- 通用爬虫抓取系统重要组成部分,抓取的是一整张页面数据
- 聚焦爬虫是建立在通用爬虫的基础之上,抓取页面中特定的局部内容
- 增量式爬虫检测网站中数据更新的情况,只会爬取网站中最新更新出来的数据
爬虫的矛与盾
反爬机制:门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取。反反爬策略:爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站中相关的数据。
下面,我们来了解一下网络爬虫中一个重要的协议:robots.txt协议。robots.txt协议是一个君子协议,协议中规定了网站中哪些数据可以被爬取哪些数据不能被爬取。
http协议和https协议
http协议:就是服务器和客户端进行数据交互的一种形式。http协议中常用的请求头信息:
- User-Agent:请求载体的身份标识
- Connection:请求完毕后,是断开连接还是保持连接http协议中常用的响应头信息:
- Content-Type:服务器响应回客户端的数据类型https协议其实就是一种安全的http协议
课程目录:
课时01: Python3+ Pip环境配置
课时02: MongoDB环境配置
课时03: Redis环境配置
课时04: MySQL的安装
课时05: Python多版本共存配置
课时06: Python爬虫常用库的安装
课时07:爬虫基本原理讲解
课时08: Urllib库基本使用
课时09: Requests库基本使用
课时10:正则表达式基础
课时11: BeautifulSoup库详解
课时12: PyQuery详解
课时13: Selenium详解
课时14: Requests+ 正则表达式爬取猫眼电影
课时15:分析Ajax请求并抓取今日头条街拍美图
课时16:使用Selenium模拟浏览器抓取淘宝商品美食信息
课时17:使用Redis + Flask维护动态代理池
课时18:使用代理处理反爬抓取微信文章
课时19:使用Redis + Flask维护动态Cookies池
课时20: PySpider框架基本使用及抓取TripAdvisor实战
课时21: PySpider架构概述及用法详解
课时22: Scrapy框架安装
课时23: Scrapy框架基本使用
课时24: Scrapy命令行详解
课时25: Scrapy中选择器用法
课时26: Scrapy中Spiders用法
课时27: Scrapy中Item Pipeline的用法
课时28: Scrapy中Download Middleware的用法
课时29: Scrapy爬取知乎用户信息实战
课时30: Scrapy+ Cookies池抓取新浪微博
课时31: Scrapy+Tushare爬取微博股票数据
课时32: Scrapy分布式原理及Scrapy-Redis源码解析
课时33: Scrapy分布式架构搭建抓取知乎
课时34: Scrapy分布式的部署详解