美文网首页
day1、爬虫概念-HTTP协议-环境-fildler

day1、爬虫概念-HTTP协议-环境-fildler

作者: 是东东 | 来源:发表于2018-08-13 20:56 被阅读0次

1、爬虫的概念

​ spider (也叫网络蜘蛛),通过互联网上一个个的节点,进行数据的抓取。

爬虫分类

通用爬虫(了解)

主要提供给搜索引擎使用

搜索引擎(全网爬虫),百度、谷歌、360、搜狗、必应等

​ 搜索引擎工作原理:

数据采集 --》 数据的存储 --》 搭建检索服务后台程序--》通过前端的用户提交检索关键字 --》后台检索启动(搜索引擎核心部分是采集这些数据)

如何采集数据?

1、爬虫采集(搜索引擎的爬虫(通用爬虫)根据网络的拓扑结构,不断的在整个互联网上进行爬虫)

2、主动的将网站提交给搜索引擎 (百度搜索提交url)

3、在其他的网站种设置友情链接

4、百度和DNS服务商合作

网站排名:

​ 1、根据流量,谁点击量多谁在前

​ 2、竞价排名,谁给的钱多谁排在前

robots协议:

​ 搜索引擎的爬虫在爬取某个网站的时候,首先根据该网站的robots.txt文件来决定爬去哪些内容,robots文件中 不允许的内容,搜索引擎是不能爬的。主要提供给搜索引擎看的。

聚焦爬虫(重点)

​ 根据用户或者客户的具体需求,去定制一些爬虫

聚焦爬虫工作原理

​ 三个过程:

在这三个过程中,前两个过程中会遇到一些反爬机制,网站后台采取一定的措施去检测请求段是否为爬虫,并且阻止爬虫的访问

​ 1、数据的抓取

​ 面临的反爬:设置用户代理、禁止IP(检测IP的访问频率低于设定值,将面临反爬)、设置验证码等

​ 2、数据解析

​ 用到的技术: HTML 用xpath bs4解析

JSON 用jsonpath解析

​ XML 用xml解析

​ 反爬:js数据加密、js动态网页(只有浏览器能加载数据)

​ 3、数据的存储

​ 存储阶段无反爬

​ 存储:CSV、数据库、TXT文件、EXCAEL文件

为什么访问同个网站,网页版和移动端的内容和布局不一样? 因为设置了用户代理,反爬机制通过用户代理。如果不是火狐和移动端的访问,会面临反爬机制。

增量式爬虫

2、HTTP协议(面试的重点)

​ 概念:超文本传输协议,基于C/S客户端模式请求与响应的协议,客户端发出请求,服务端对请求进行处理,并做出响应,HTTP协议无状态(不记录访问),通过url来进行通信

​ url:用于客服端和服务器交互的一个地址,也成为i网址,格式:https://www.baidu.com/kw=laolu,但这个不标准

​ (baidu.com一级域名)(baidu二级域名)

​ 协议 ://主机名.域名:端口号/路劲?a=1&b=2...#锚点

​ 一个网站的加载一般会伴随着多个url的HTTP请求,这些http请求主要是加载资源、css和js

​ 请求和响应(核心):

​ 请求头:包含本次请求的所有配置信息(如:数据格式、数据的大小,GET或者POST请求),告诉服务器请求数据的格式等信息

​ 请求体:主要在url中或者表单中体现,告诉服务器提交的数据是哪些

​ 响应头:提供客服端响应数据的相关配置格式等信息

​ 响应体:响应的内容(HTML页面,JSON数据等)

扩展内容(面试题):

1.请您解释下什么是http协议?

2.请谈一下post请求和get请求?

3.http协议和https协议有什么不同

4.常见的http协议状态码?

3、环境

​ win7以上、python3.6、pycharm;后期(分布式) Linux、redis

​ 2周爬虫内容简介:

​ 基础框架:urllib库、requests库

​ 解析方面:正则、xpath语法、bs4选择器、jsonpath、selenium+webdriver(解决动态加载)

​ 原理:多线程原理、协程等原理

​ 综合框架:Scrapy

​ 分布式框架:scrapy_redis组件

​ 反爬:用户代理、禁止ip、验证码、动态加载等

4、fiddler

​ 会使用基本操作即可

相关文章

网友评论

      本文标题:day1、爬虫概念-HTTP协议-环境-fildler

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