位置: IT常识 - 正文

爬虫基本原理(爬虫基本原理有哪些)

发布时间:2024-01-17
爬虫基本原理 爬虫基本原理1.1获取网页1.1.1提取信息1.1.2保存数据1.2请求1.2.1 请求方法1.2.2 请求网址1.2.3 请求头1.2.4请求体1.3响应1.1获取网页

推荐整理分享爬虫基本原理(爬虫基本原理有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:爬虫基本原理是什么,爬虫基本原理有哪些,爬虫基本原理有哪些,爬虫基本原理图,爬虫原理的简单介绍,爬虫的基本原理,爬虫基本原理实验报告,爬虫基本原理实验报告,内容如对您有帮助,希望把文章链接给更多的朋友!

爬虫首先要做的工作就是获取网页,这里就是获取网页的源代码。源代码里包含了网页的部分有用信息,所以只要把源代码获取下来,就可以从中提取想要的信息了。

1.1.1提取信息

获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据。 另外,由于网页的结构有一定的规则,所以还有一些根据网页节点属性、cSS 选择器或 XPath 来提取网页信息的库,如 Beautifulsoup、pyquery、lxml等。使用这些库,我们可以高效快速地从中提取网页信息,如节点的属性、文本值等。 提取信息是爬虫非常重要的部分,它可以使杂乱的数据变得条理清晰,以便我们后续处理和分析数据。

1.1.2保存数据

提取信息后,我们一般会将提取到的数据保存到某处以便后续使用。这里保存形式有多种多样,如可以简单保存为TXT文本或了SON文本,也可以保存到数据库,如 MysQL和 MongoDB等,也可保存至远程服务器,如借助 SFTP进行操作等。

向起始url发送请求,并获取响应对响应进行提取如果提取url,则继续发送请求获取响应如果提取数据,则将数据进行保存1.2请求爬虫基本原理(爬虫基本原理有哪些)

请求由客户端向服务端发出,可以分为四个内容:请求方法、请求的网址、请求头、请求体。

1.2.1 请求方法

GET:请求页面,并返回页面内容 HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头 POST:大多用于提交表单或上传文件,数据包含在请求体中 PUT:从客户端向服务器传送的数据取代指定文档中的内容 DELETE:请求服务器删除指定的页面 CONNECT:把服务器当作跳板,让服务器代替客户端访问其他网页 OPTIONS:允许客户端查看服务器的性能 TRACE:回显服务器收到的请求,主要用于测试或诊断

1.2.2 请求网址

请求的网址,即统一资源定位符URL,它可以唯一确定我们想请求的资源。 https://www.baidu.com/s?wd=python https表示协议 www.baidu.com表示域名 s表示路径 wd=python表示查询参数

1.2.3 请求头

右键页面,检查,网络,然后点XHR,刷新页面,然后点击“headers”,找到请求标头。 接下来解释每一行都代表什么: :Authority::请求的目标服务器的主机名或IP地址,这里是api.bilibili.com。 :Method::HTTP请求方法。这里是GET,表示获取资源。 :Path::请求的路径。这里是/x/web-interface/cdn/report?from=report。 :Scheme::请求的协议方案。这里是https,表示使用HTTPS协议进行通信。 Accept::客户端可接受的响应内容类型。这里是*/*,表示接受任意类型的响应。 Accept-Encoding::客户端可接受的响应内容编码方式。这里是gzip, deflate, br,表示支持gzip、deflate和br(Brotli)压缩方式。 Accept-Language::客户端可接受的语言类型。这里是zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,表示首选中文(中国大陆), 其次中文, 最后英文(美国)。 Cache-Control::控制缓存行为的指令,这里是no-cache,表示不使用缓存。 Origin::指定请求的来源,这里是https://www.bilibili.com。 Pragma::与缓存相关的指令,这里是no-cache,表示不使用缓存。 Referer::指定请求的来源页面或链接地址,这里是https://www.bilibili.com/。 Sec-Ch-Ua::指定浏览器的User-Agent字符串,表示浏览器及其版本信息。 Sec-Ch-Ua-Mobile::指定浏览器是否是移动版。 Sec-Ch-Ua-Platform::指定浏览器运行的平台,这里是Windows。 Sec-Fetch-Dest::指定请求的资源类型,这里是empty,表示空资源。 Sec-Fetch-Mode::指定请求的模式,这里是cors,表示使用CORS(跨源资源共享)请求。 Sec-Fetch-Site::指定请求的站点类型,这里是same-site,表示同源站点。 User-Agent::浏览器或客户端的用户代理标识,用于标识客户端的软件和版本信息。这里是Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36,表示使用的是Windows操作系统下的Chrome浏览器。

1.2.4请求体

请求体一般承载的内容是POST请求中的表单数据,但是对于GET请求,请求体为空。 先找到请求方法为POST的页面: 然后在载荷中找到相应的表单数据: 表单数据代表了每次进行访问所需要带的请求参数。

如果是GET请求带了载荷的话,那都会在URL中进行体现,比如:

可以发现,Payload中的report参数在请求的URL中体现了出来。

1.3响应

响应的状态码在头部就可以看到,以下是相应状态码及其解释:

1xx(信息性状态码):表示请求已被接收,需要进一步处理。 100 Continue:服务器已接收到请求的起始部分,客户端应继续发送剩余的请求。 101 Switching Protocols:服务器将按照客户端请求的协议切换。2xx(成功状态码):表示请求已成功处理并得到响应。 200 OK:请求成功,正常返回结果。 201 Created:请求成功,并在服务器上创建了新的资源。 204 No Content:请求成功,但响应中不包含实体的主体部分。3xx(重定向状态码):表示需要进一步操作以完成请求。 301 Moved Permanently:请求的资源已永久移动到新位置。 302 Found:请求的资源临时移动到不同的位置。 304 Not Modified:客户端的缓存资源是最新的,不需要重新传输。4xx(客户端错误状态码):表示请求包含错误或无法完成请求。 400 Bad Request:请求无效,服务器无法理解。 401 Unauthorized:请求需要身份验证。 403 Forbidden:服务器拒绝访问请求的资源。5xx(服务器错误状态码):表示服务器无法完成请求。 500 Internal Server Error:服务器遇到了意外错误,无法完成请求。 502 Bad Gateway:作为代理或网关的服务器收到无效响应。 503 Service Unavailable:服务器暂时无法处理请求,通常是由于过载或维护。
本文链接地址:https://www.jiuchutong.com/zhishi/299011.html 转载请保留说明!

上一篇:ChatGPT全面升级,GPT4支持多模态数据。

下一篇:微信小程序--》小程序—全局数据共享和分包(微信小程序开发一个多少钱)

  • 苹果怎么关闭两台手机之间的同步(苹果怎么关闭两个卡)

    苹果怎么关闭两台手机之间的同步(苹果怎么关闭两个卡)

  • 苹果13pro没有配耳机吗(iphone13没有pro吗)

    苹果13pro没有配耳机吗(iphone13没有pro吗)

  • airpodspro上市时间(苹果airpodspro上市时间)

    airpodspro上市时间(苹果airpodspro上市时间)

  • 腾讯视频怎么取消连续包月会员(腾讯视频怎么取消续费)

    腾讯视频怎么取消连续包月会员(腾讯视频怎么取消续费)

  • iqooz1内存规格(iqooz1储存规格)

    iqooz1内存规格(iqooz1储存规格)

  • 下载什么软件可以看电视频道(下载什么软件可以把试卷答案p掉)

    下载什么软件可以看电视频道(下载什么软件可以把试卷答案p掉)

  • 影视tv下载了怎么打不开

    影视tv下载了怎么打不开

  • 华为基带是自己的吗(华为基带是什么牌子)

    华为基带是自己的吗(华为基带是什么牌子)

  • 没有路由器只有光猫可以上网吗(没有路由器只有光猫可以改密码吗)

    没有路由器只有光猫可以上网吗(没有路由器只有光猫可以改密码吗)

  • 耳机7.1声道和普通的区别(耳机7.1声道和普通一样吗)

    耳机7.1声道和普通的区别(耳机7.1声道和普通一样吗)

  • 华为手机有给联系人定位功能吗(华为手机给联系人加头像)

    华为手机有给联系人定位功能吗(华为手机给联系人加头像)

  • 描述文件会盗取手机信息吗(描述文件会盗取手机信息吗苹果)

    描述文件会盗取手机信息吗(描述文件会盗取手机信息吗苹果)

  • 苹果xsmax电量显示百分比在哪里找(苹果xsmax电量显示颜色怎么调)

    苹果xsmax电量显示百分比在哪里找(苹果xsmax电量显示颜色怎么调)

  • 怎么注册uc账号(uc账号手机注册)

    怎么注册uc账号(uc账号手机注册)

  • 怎么让手机不震动(怎么让手机不震动也没声音小米)

    怎么让手机不震动(怎么让手机不震动也没声音小米)

  • 华为手机键盘没有了怎么办(华为手机键盘没有了)

    华为手机键盘没有了怎么办(华为手机键盘没有了)

  • oppo手机突然黑屏怎么开都开不了怎么办(oppo手机突然黑屏开不了机怎么办)

    oppo手机突然黑屏怎么开都开不了怎么办(oppo手机突然黑屏开不了机怎么办)

  • 华为mate30是不是无线充电(mate30啥手机)

    华为mate30是不是无线充电(mate30啥手机)

  • 抖音移除粉丝对方会收到提醒吗(抖音移除粉丝对方关注列表还有我吗)

    抖音移除粉丝对方会收到提醒吗(抖音移除粉丝对方关注列表还有我吗)

  • 华为mate30pro什么时候出5G(华为mate30pro什么出来的)

    华为mate30pro什么时候出5G(华为mate30pro什么出来的)

  • 视频发不了朋友圈是怎么回事(视频发不了朋友圈显示正在从icoud备份)

    视频发不了朋友圈是怎么回事(视频发不了朋友圈显示正在从icoud备份)

  • 怎么把表情包尺寸缩小(怎么把表情包尺寸缩小QQ)

    怎么把表情包尺寸缩小(怎么把表情包尺寸缩小QQ)

  • 微信怎么提现(微信怎么提现到银行卡没有手续费)

    微信怎么提现(微信怎么提现到银行卡没有手续费)

  • vivo手机怎么qq消息不提醒(vivo手机qq怎么删除好友)

    vivo手机怎么qq消息不提醒(vivo手机qq怎么删除好友)

  • 电脑屏幕上的图标怎么变大了(电脑屏幕上的图标怎么随意放置)

    电脑屏幕上的图标怎么变大了(电脑屏幕上的图标怎么随意放置)

  • 鸿蒙系统公测版值得升级吗 鸿蒙公测版使用体验(鸿蒙系统公测版和beta版有什么区别)

    鸿蒙系统公测版值得升级吗 鸿蒙公测版使用体验(鸿蒙系统公测版和beta版有什么区别)

  • wwwxxx域名选择(www.xxx.com或者.cn)

    wwwxxx域名选择(www.xxx.com或者.cn)

  • 简易计税方法是什么意思
  • 服装加工费税收编码
  • 个税免税收入怎么进行更正申报
  • 原材料入库汇总单
  • 网吧电脑折旧率
  • 处置固定资产取得的收益属于利得吗
  • 4s店试驾车转卖怎么开票
  • 漏提折旧可以所得税扣除吗
  • 不开票收入需要什么票据吗
  • 所得税费用税率规定
  • 债券的实际发行价格为什么
  • 湖北个体户网上申报
  • 收回代扣社保怎么处理
  • 过桥过闸 增值税
  • 营业外收入怎么开票能开吗
  • 联想笔记本bios密码忘记了
  • Win10家庭版安装教程
  • 公允价值变动损益怎么算出来的
  • 事业单位财政补助收入会计分录
  • 待清算专户
  • 商业承兑汇票承兑人可以是银行吗
  • php数组查找
  • 暂存款借方余额
  • 预收房租需要缴纳个税么
  • php获取文本内容
  • 什么情况下增长率是0
  • 罗马湖在哪
  • php设置title
  • 微服务框架图
  • 一般纳税人内账可以不提税吗
  • 个人终止投资经营的条件
  • 增值税发票作废后怎么处理
  • db2 日期查询
  • 增值税专票已经认证了还能退吗
  • 普票和专票的区别对比
  • 个体工商户开具房屋租赁发票
  • 高新技术企业亏损弥补的年限为十年
  • 劳务报酬所得是否含增值税
  • 抵消递延所得税资产会计处理
  • 房地产购买流程
  • 原材料变为商品怎么做账
  • 用银行承兑汇票购买原材料会计分录
  • 预收款不开票怎么处理
  • 税盘减免税款怎么做账
  • 审计如何判断跨期
  • 股权激励费用摊销意思是
  • 管家婆进货单怎么录入?
  • 水果店的账务处理
  • 什么发票可以抵扣税
  • 商业折扣的会计分录
  • 公司买车可以抵税几年
  • 会计做账手工帐
  • ubuntu16.04安装步骤
  • mac安装路径选择
  • centos怎么连接远程服务器
  • win10怎么设置开机启动软件
  • 使用和启动故障的区别
  • linux中nfs的搭建
  • gzip与zip
  • cocos2d-x教程
  • cocos creatorapi
  • javascript中
  • js中事件的三要素
  • dos批处理命令大全
  • javascript基础编程
  • nodejs客户端框架
  • android实战教程
  • Node.js中的事件循环是什么样的
  • shell脚本ll
  • 终端执行
  • eclipse出现an error has occurred
  • unity ugui组件
  • python 多线程
  • google年会
  • 电子税务局 安徽
  • 税务局不动产交易缴税方案
  • 土地增值税可否免税
  • 江苏发票真伪查询系统官网
  • 增值税专用发票上传是什么意思
  • 铜陵职业技术学院专业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号