1.1 爬虫运用---大数据时代
*企业生产的用户数据
*数据管理咨询公司:采集团队,市场调研,问卷调查,样本检测,公司合作,科研数据。
*政府机构提供的公开数据
*第三方平台购买数据:泄露个人信息、骚扰电话
*爬虫工程师爬取数据:专项爬取数据
1.2 什么是爬虫?
爬虫就是爬取网页数据的程序
1.3 爬虫怎么抓取网页数据
网页三大特征:
*网页都有自己唯一的URL(统一资源定位符)来进行定位
*网页都有使用HTML(超文本标记语言)
*网页都使用HTTP/HTTPS(超文本传输协议)协议传输HTML
爬虫的设计思路
*获取爬取网页的URL地址
*通过HTTP/HTTPS协议来获取对应的HTML页面
*提取HTML页面里面的有用的数据
#需要的数据保存起来
#页面里有其它的URL则继续执行第二部
1.4 为什么选择python爬虫
*PHP对多线程、异步支持不够好,并发处理能力很弱
*Java本身笨重,代码量大,重构成本高,任何修改都会导致代码大量变动,成本高。
*C/C++ 学习成本高,代码成型慢。
*python语法又没,代码简洁,开发效率高,支持模块多,爬虫框架Scrapy scrapy-redis分布式策略。python的老本行就是网络爬虫。
1.5 爬虫课程介绍
1)python的基本语法知识
2)如何抓取网页:urllib,urllib2,requests ===>获取网页
3)解析服务器响应的内容:re、xpath、bs4、jsonpath、pyquery
4)采集动态的HTML、验证码处理等:Selenum+PhantomJS(无界面)模拟真实浏览器加载js、ajax技术
二次请求、屏蔽js请求再次获取数据
5)Scrapy框架:Scrapy,Pyspider高定制高性能 数据下载速度快,数据下载,提取规则等组件。
6)分布式策略:Scrapy-reids:支持分布式功能,主要在redis里面做
7)爬虫-反爬虫-反反爬虫之间的斗争
2.通用爬虫
2.1通用爬虫:搜索引擎用的爬虫系统
*目标:尽可能将互联网上所有的网页下载下来,提取关键字 ,去掉广告 ,提供用户检索
*抓取流程
#选取已有的URL,将URL放到队列中
#从队伍中取得这些URL,DNS解析得到的主机IP,通过IP地址下载HTML页面,保存到搜索引擎。
#分析网页,找出网页里面其它URL连接
*搜索引擎获取新网站URL
#主动提交网址
#其它网站设置网站的外链
#搜索引擎和DNS服务商合作,快速收录网站(DNS就是把域名解析成ip的一种技术)
*网络爬虫遵循Robot协议
*爬虫的工作流程:
爬取网页-存储数据-内容处理-提供检索/排名服务
*搜索引擎排名:
#PageRank值:网站的流量(流量越多,排名越前)
#竞价排名:钱多排名高
*通用爬虫的缺点:
#1.文本相关的内容(HTML、Word、PDF),不能提供多媒体文件
#2.搜索结果千篇一律
#3.不能理解人类语义上的检索
3.聚焦爬虫
3.1 聚焦爬虫:程序员针对某种内容的爬虫
*User_Agent:爬虫和反爬虫的第一步,好的习惯--发送强求带User-Agent 用户代理
*response 是服务器吸纳因的类文件,除了支持文件操作方法以外还支持一下常用:
#响应码:成功返回200,服务器页面出错400 路径问题 5服务器出错
#真实的URL:防止重定向的问题,隐藏URL请求
#报头 HTTP报头 显示的数据内容



