返回顶部
首页 > 资讯 > 精选 >学习爬虫必须学的基础知识
  • 278
分享到

学习爬虫必须学的基础知识

2023-06-02 00:06:51 278人浏览 八月长安
摘要

数据的来源1)用户自行产生2)去第三方的公司购买数据3)去免费的数据网站下载数据4)人工收集数据5)爬虫获取2.什么是爬虫网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网

数据的来源
1)用户自行产生
2)去第三方的公司购买数据
3)去免费的数据网站下载数据
4)人工收集数据
5)爬虫获取
2.什么是爬虫
网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做
3.爬虫的分类
根据被爬网站的数量的不同,我们把爬虫分为:
通用爬虫 :通常指搜索引擎的爬虫(https://www.baidu.com)
聚焦爬虫 :针对特定网站的爬虫
4 . 爬虫的流程1. url
2. 发送请求获取响应
3. 对响应进行提取
a. 如果提取的是url,就重复步骤2
b. 如果提取的是数据,就保存入库
5. 大象装冰箱分几步

外汇分析师Http://www.gendan5.com/experts.html

爬虫爬取数据的流程和将大象装进冰箱的流程相似:
class 冰箱
属性:门 =
东西s = [大象,]
def open门
class 大象
1.冰箱门打开

冰箱a = 冰箱()
冰箱a.open门()
2.大象放进冰箱
具体再去完善冰箱的大小以及大象放进去的方法
3.冰箱们关上
冰箱a.close门()
6.robots协议
Robots协议:网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但它仅仅是互联网中的一般约定,可以忽略,例如:(https://www.taobao.com/robots.txt)
7.http,和https的概念
复习的必要性:在发送请求,获取响应的过程中 就是发送http或https的请求,获取http或https的响应
HTTP:
超文本传输协议,默认端口号:80
HTTPS:
HTTP + SSL(安全套接字层),即带有安全套接字层的超本文传输协议,默认端口号:443
HTTPS比HTTP更安全,但是性能更低
8.浏览器的工作原理http请求的过程
1)浏览器先向地址栏中的url发起请求,并获取相应
2)在返回的响应内容(html)中,会带有CSSjs、图片等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应
3)浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css等内容会修改页面的内容,js也可以重新发送请求,获取响应
4)从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改————这个过程叫做浏览器的渲染
注意:
但是在爬虫中,爬虫只会请求url地址,对应的拿到url地址对应的响应(该响应的内容可以是html,css,js,图片等),浏览器渲染出来的页面和爬虫请求的页面很多时候并不一样,所以在爬虫中,需要以url地址对应的响应为准来进行数据的提取
理解浏览器的工作原理之后,要知道一下俩点:
1)多次响应的结果 就意味着 有多次请求(浏览器最终显示的结果是由多次请求对应的多次响应共同渲染的结果)
2)爬虫是以发送一次请求对应的响应为准,来提取数据2.爬虫是以发送一次请求对应的响应为准,来提取数据
9. 爬虫关注的常见请求头
User-Agent 用户代理
Referer 面包屑
Cookie
http常见请求头:
Host (主机和端口号)
Connection (链接类型)
Upgrade-Insecure-Requests (升级为HTTPS请求)
User-Agent (浏览器名称)
Accept (传输文件类型)
Referer (页面跳转处)
Accept-Encoding(文件编解码格式)
Cookie (Cookie)
x-requested-with :XMLHttpRequest (表示该请求是Ajax异步请求)
10. 爬虫关注的响应头
Set-Cookie 后端一次向客户端set一条cookie
在响应中 可以set多次cookie;客户端最多保存20条cookie
11.响应状态码
200:成功
302:临时转移至新的url
307:临时转移至新的url
404:找不到该页面
500:服务器内部错误
503:服务不可用,一般是被反爬
12.字符串相关的复习
python3中两种字符串类型:
str : unicode的呈现形式
bytes :字节类型,互联网上数据的都是以二进制的方式(字节类型)传输的
关于bytes的拓展阅读:https://segmentfault.com/a/1190000004450876
UTF-8是Unicode的实现方式之一
str和bytes类型的互相转换:
string --> bytes
encode()
bytestring -->str
decode(‘utf8’) # ascii gbk gb2312 iso-8859-1
编码方式解码方式必须一样,否则就会出现乱码
‘你好吗’.encode()–> b’你好吗’
b’你好吗’.decode(‘ascii’) --> 乱码!
b’你好吗’.decode(‘utf8’) --> 正常显示

--结束END--

本文标题: 学习爬虫必须学的基础知识

本文链接: https://lsjlt.com/news/228236.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 学习爬虫必须学的基础知识
    数据的来源1)用户自行产生2)去第三方的公司购买数据3)去免费的数据网站下载数据4)人工收集数据5)爬虫获取2.什么是爬虫网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网...
    99+
    2023-06-02
  • 学习Python爬虫前必掌握知识点
    目录常见的协议常见的请求方式常见的请求头参数:常见的相应状态码HTTP的请求相应过程使用浏览器进行网站分析 session 与cookie常见的协议 http和https ...
    99+
    2024-04-02
  • 零基础学习Python爬虫
    目录爬虫为什么我们要使用爬虫爬虫准备工作爬虫项目讲解代码分析1.爬取网页2.逐一解析数据3.保存数据讲解我们的爬虫之前,先概述关于爬虫的简单概念(毕竟是零基础教程) 爬虫 网络爬虫(...
    99+
    2024-04-02
  • mysql基础知识学习
     1      说明数据库的命令时不区分大小写的,例如“CREATE DATABASE test”与“create database t...
    99+
    2024-04-02
  • 学习nginx基础知识
    目录一.什么是nginx?二.nginx能干什么?2.1 什么是正向代理?2.2 什么是反向代理?2.3负载均衡2.4 动静分离三.nginx基本操作3.1 nginx配置文...
    99+
    2024-04-02
  • Python 基础知识学习
    1、Python 基础教程      Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。2、执行Python程序     实例(Python 2.0+)     print "Hello, World!";  3、环境搭建...
    99+
    2023-01-31
    基础知识 Python
  • Python学习必备的基础知识有哪些?
    学习Python前需要掌握哪些基础知识? 随着人工智能、大数据和云计算等技术的不断发展,编程已成为现代社会中一个越来越重要的技能。而Python作为一门简洁易学且功能强大的编程语言,越来越受到广大程序员和初学者的青睐。如果你也打...
    99+
    2024-01-13
    编程语言 数据类型 基本语法
  • 零基础怎么学习Python爬虫
    本篇内容主要讲解“零基础怎么学习Python爬虫”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“零基础怎么学习Python爬虫”吧!  零基础如何学爬虫技术?对于迷茫的初学者来说,爬虫技术起步学习...
    99+
    2023-06-01
  • Redis学习笔记:基础知识
        一、NoSQL和关系型数据库区别     NoSQL非关系型数据库:Redis、MongoDB、HBase等,基于Key-Value存储,采用命令操作。     关系型数据库:Oracle、MySQL、DB2、SQL Se...
    99+
    2020-08-16
    Redis学习笔记:基础知识
  • 快速学习MySQL基础知识
    这篇文章主要梳理了 SQL 的基础用法,会涉及到以下方面内容: SQL大小写的规范 数据库的类型以及适用场景 SELECT 的执行过程 WHERE 使用规范 MySQL 中常见函...
    99+
    2022-05-26
    学习MySQL MySQL 基础
  • linux shell脚本基础知识学习
    Shell脚本: 1、#! 指定脚本执行的shell2、# 注释 3、命令或语法结构echo "输入内容"echo 输出空行执行: 1、shell 脚本 sh example2、给shell脚本执行权...
    99+
    2022-06-04
    基础知识 脚本 linux
  • shell学习之编程基础知识
    有学过编程语言的同学们都能够很快入手shell因为基础的字符类型,循环语句与C语言也差不多。以下我们来了解以下新手基础:1.在学习循环语句之前先了解一些基础的字符信息:$0、$1、$2、$、$*、$#$0 ...
    99+
    2024-04-02
  • Spring5学习之基础知识总结
    目录1.概述2.入门Demo3.源码1.概述 1、Spring 是轻量级的开源的 JavaEE 框架 2、 Spring 可以解决企业应用开发的复杂性 3、Spring 有两个核心部...
    99+
    2024-04-02
  • Vue基础学习知识有哪些
    这篇文章将为大家详细讲解有关Vue基础学习知识有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、Vue基础介绍1.什么是Vue.jsVue.js 是目前最火的一个前端框架,React是最流行的一个前...
    99+
    2023-06-22
  • 机器学习之基础知识(全)
    目录 1.机器学习概述 1.1 人工智能概述 1.1.1 人工智能使用场景 1.1.2 人工智能小案例 1.2 人工智能发展历程 1.2.1 图灵测试 1.2.2 发展历程 1.2.3 小结 1.3 人工智能主要分支 1.3.1 人工智能、...
    99+
    2023-08-31
    机器学习
  • Three.js概述和基础知识学习
    目录1.Three.js简介2.Three.js的历史3.Three.js的应用4.基础知识4.1 场景(Scene)4.2 相机(Camera)4.3 渲染器(Renderer)4...
    99+
    2023-05-20
    Three.js概述基础知识 Three.js基础知识
  • CCIE学习(3)——基础知识回顾
    ●以太网标准 1)10BASE5:粗同轴电缆传输 2)10BASE2:细同轴电缆传输 3)10BASE-T:第一个使用双绞线传输的以太网标准 4)DIX Ethernet Version 2:原始以太...
    99+
    2023-01-31
    基础知识 CCIE
  • Python爬虫基础之爬虫的分类知识总结
    目录一、通用爬虫二、搜索引擎的局限性三、Robots协议四、请求与相应一、通用爬虫 通用网络爬虫是搜索引擎抓取系统(Baidu、Google、Sogou等)的一个重要组成部分。主要目...
    99+
    2024-04-02
  • Python基础知识学习之类的继承
    目录一、继承的格式二、单继承三、多继承四、重写父类方法五、打印继承关系六、调用父类方法七、私有属性与方法一、继承的格式 类的继承格式如下,括号中的为父类名。 class 类名(父...
    99+
    2024-04-02
  • 学习Go语言变量的基础知识
    Go语言是一种由Google开发的静态类型、编译型语言,其简洁、高效的特性受到了广泛的开发者关注和喜爱。在学习Go语言的过程中,熟练掌握变量的基础知识是至关重要的一步。本文将通过具体的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作