爬虫与反爬虫
1 应用场景:
01 做数据分析(大数据)将分析出来的结果制成图(饼状图、柱状图。折线图等)
为公司经营决策提供提供策略
02 将数据应用于公司的网站或者app;
03 技术手段:urllib、request、bs4、lxml、pyspider(框架)、scrapy(框架)
2 爬虫网站:
从网站类型上分为:
01 静态网站:页面上展示的数据,如果可以右键-网页源代码查看
中看到数据,就说明是静态网站!
02 动态网站:页面上展示的数据,右键-网页源代码无法看到数据内容,就说明是动态网站。
如果是动态网站,分三种情况进行爬取:
01 看看页面上展示的数据,是否是通过API接口返回json数据,这种是最简单的方式
02 使用selenium动态加载JS文件,获取JS加载完成之后的页面;缺点是效率比较慢
03 有些网站会对selenium驱动进行识别,通过分析网站的js源代码,看数据是如何返回的
从难易程度上分为:
01 数据直接通过html 源代码返回来
02 通过js请求参数加密
03 需要使用cookie进行网络请求
04 返回数据加密:
05 需要重点分析的请求头和响应头
06 网站对同一个IP有限制的访问次数限制
07 验证码的破解
3 请求头和响应头中常用的字段:
01 请求头
HOST:当前请求对应的服务器地址
REFERER:表示此次请求是由哪个地方发起的请求
COOKIE:请求的时候携带这个cookie可以实现免登陆
USER-AGENT:浏览器标识,如果不携带该字段。可能会被对方服务器
认为是爬虫
02 响应头:
SET-COOKIE:一般是服务器向客服端发布会的cookie信息
cookie和session技术: