Python实用技术——爬虫(二):爬虫需要使用的库

news2024/11/17 6:21:00

一,Requests库

1,主要使用方法:

1)get()方法:

 

这个Response对象中包含爬虫返回的内容。 

 除了request方法是基础方法外,其他都是通过调用request方法来实现的。

所以,我们甚至可以这么理解,Requests库只有一种方法request方法,为了使编程更加方便,所以就有了另外的六种方法。

以get方法为例:

2)Response 对象的属性:

 

流程图:

3)Response的编码:

 网络上的资源都有着对应各自的编码,如果我们不知道资源的编码方式,那资源对于我们而言就是不可读的。

r.encoding;如果header中不存 在charset,则认为编码为ISO-8859-1。

原则上来说,后者比前者更加准确,因为前者并没有分析内容,而只是从header中的相关字段提取编码,进行猜测。而后者则是在实实在在的分析内容,并且找到其中可能的编码。
 

2,爬取网页的通用代码框架:

就是一组代码,可以准确的爬取网页内容。

我们要知道,get方法是不一定成功的,因为网络连接是有分线的,所以对于程序来说,异常处理就显得很重要。

Requests库支持六种常用的连接异常: 

import requests
def ge tHTMLText (ur1) :
    try:
        r = requests . get (url, timeout =30)
        r.raise_ for_ status ()     #如果状态不是200,引发HTTPError异常
        r . encoding = r. apparent encoding
        return r. text
    except :
        return "产生异常”
if __name__==”__main__ " :
    url = "http: //www . baidu . com"
    print (ge tHTMLText (ur1) )

 也就是说,通用代码框架最大的作用是能够使得用户访问或爬取网页变得更有效更稳定。

3,HTTP协议对资源的操作:

URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。

 六个方法就是Requests库提供的六个主要函数所对应的功能。

 HTTP协议通过URL对资源做定位,通过这六个方法对资源进行管理,每一次操作都是独立无状态的,也就是说这个操作和下一个操作是不相关的。

在HTTP协议的世界里,网络通道和服务器都是黑盒子,它能看到的只有URL链接以及对URL链接的操作。

理解PATCH和PUT的区别
假设URL位置有一组数据UserInfo, 包括UserID、 UserName等20个字段。
需求:用户修改了UserName,其他不变。
采用PATCH,仅向URL提交UserName的局部更新请求。
采用PUT,必须将所有20个字段一并提交到URL,未提交字段被删除。

PATCH的最主要好处:节省网络带宽
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1047468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[React] React高阶组件(HOC)

文章目录 1.Hoc介绍2.几种包装强化组件的方式2.1 mixin模式2.2 extends继承模式2.3 HOC模式2.4 自定义hooks模式 3.高阶组件产生初衷4.高阶组件使用和编写结构4.1 装饰器模式和函数包裹模式4.2 嵌套HOC 5.两种不同的高阶组件5.1 正向的属性代理5.2 反向的继承 6.如何编写高阶组…

使用 Express 设置 GraphQL

使用 Express 设置 GraphQL 在本文中,我们将探讨如何在 Node.js 中设置 Express.js 和 GraphQL。另外,本文还将分享一些基本技巧,以确保我们的服务器已准备好投入实际使用! 什么是 GraphQL GraphQL 是 API 的查询语言&#xff…

网络爬虫——urllib(1)

前言🍭 ❤️❤️❤️网络爬虫专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ 前篇简单介绍了什么是网络爬虫及相关概念,这篇开始讲解爬虫中的第一个库——urllib。 urllib🍭 …

Windows安装CMake详细教程(附学习资料)

CMake是一个跨平台的开源构建工具,用于自动化管理C项目的构建过程。本教程旨在向初学者介绍如何在Windows操作系统上安装CMake,并提供详细的步骤指导,帮助您顺利开始使用这个强大的工具。 学习资料在文末~ 步骤1:下载CMake安装程…

SW利用点光源来校核

先要建立坐标系,然后查这个坐标系的绝对坐标 然后删除其他光源,把环境光源降低最小 最后添加点光源,位置在之前查的坐标点

在Windbg中设置断点追踪打开软件远程调试开关的模块

目录 1、Windbg动态调试 2、在Windbg中设置断点 2.1、在函数入口处设置断点 2.2、在函数内部某一行上设置断点 3、设置断点跟踪对打开远程调试开关接口的调用 3.1、编写演示代码 3.2、在Windbg中设置调用SetRemoteDebugOn接口的断点进行跟踪 4、最后 VC常用功能开发汇总…

线上Vue项目访问其他服务器接口(宝塔平台配置解决)

前端本地解决跨域问题非常简单,配置代理即可,线上需要配置nginx,宝塔给我们更简单的配置方式:反向代理。 登录进宝塔页面,选择网站,点击网站名,选择反向代理 点击添加反向代理 注意&#xff…

基于Springboot实现餐厅点餐系统演示【项目源码+论文说明】分享

基于Springboot实现餐厅点餐系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&#xff…

resources(static与templates)

static "static"目录用于存放静态资源文件,例如HTML、CSS、JavaScript、图像等。 springboot整合了springmvc的拦截功能。拦截了所有的请求。默认放行的资源是:resources/static/ 目录下所有静态资源。(不走controller控制器就能…

【开发篇】十一、SpringBoot缓存底层实现技术的切换为Ehcache、Redis、Memcached

文章目录 0、补充:数据淘汰策略1、切换为Ehcache2、切换为Redis3、切换为memcached--安装与启停4、切换为memcached--整合 SpringBoot提供了缓存的统一整合接口,方便缓存技术的开发与管理: GenericJCacheEhcacheHazelcastInfinispanCouchbase…

《视觉 SLAM 十四讲》V2 ——第3讲

关于本笔记的说明: 最好跟着 原书 整理个人笔记,他人笔记仅适合参考部分内容。 ———————— B站链接 高翔博客链接 百度网盘链接:https://pan.baidu.com/s/1VsrueNrdqmzTvh-IlFBr9Q 提取码:vfhe github源码链接V2 《视觉…

OpenCV读取图像时按照BGR的顺序HWC排列,PyTorch按照RGB的顺序CHW排列

OpenCV读取RGB图像 在OpenCV中,读取的图片默认是HWC格式,即按照高度、宽度和通道数的顺序排列图像尺寸的格式。我们看最后一个维度是C,因此最小颗粒度是C。 例如,一张形状为2562563的RGB图像,在OpenCV中读取后的格式…

阿里云服务器方升架构、自研硬件、AliFlash技术创新

阿里云服务器技术创新:服务器方升架构及自研硬件、自研存储硬件AliFlash和阿里云异构计算加速平台,阿里云百科分享阿里云服务器有哪些技术创新: 目录 服务器技术创新 服务器方升架构及自研硬件 自研存储硬件AliFlash 阿里云异构计算加速…

进入k8s下mysql docker容器,设置慢查询开关

服务器账号信息:wps/kingsoft 进入mysql容器: kc exec -ti -n kube-public mysql-0 -- bash 访问数据库: mysql -h10.13.83.171 -uhuangweiheng -phuangweiheng_password; 数据库超管:root/wpsepmysql sudo service mysql r…

QQ农场怀旧版搭建(附带搭建完成示例)

QQ农场搭建 示例均在宝塔面板搭建搭建完成网站,欢迎━(`∀)ノ亻!大家种种菜 http://farm.dreamlove.top/如果不出意外应该会一直续费下去,毕竟linux服务器便宜很多~ 所需依赖 mysql 5.5 php 5.4 nginx 1.22下载农场文件并安装好了依赖 下载地址1:https://cloudr…

Cloudera Manager-6.2.0安装文档

环境准备 安装包地址 链接:https://pan.baidu.com/s/1QrLsXynmopqoZhDkoIAihg 提取码:kaoi 虚拟机建议配置 至少3台节点,server节点安装cloudera server服务和mysql服务 server节点 ​ 内存:3GB以上 ​ 存储:4…

react 网页/app复制分享链接到剪切板,分享到国外各大社交平台,通过WhatsApp方式分享以及SMS短信方式分享链接内容

1.需求 最近在做一个国际网站app,需要把app中某个页面的图文链接分享到国外各大社交平台上(facebook,whatapp,telegram,twitter等),以及通过WhatApp聊天方式分享,和SMS短信方式分享链接内容,该怎么做呢?图示如下: 分享到国外各大社交平台&am…

详解Avast Driver Updater:电脑驱动更新工具的利器还是多余的软件?

亲爱的读者朋友们,你是不是经常为电脑的驱动问题而烦恼?如果是的话,你可能会对这款软件——Avast Driver Updater 电脑驱动更新工具感兴趣。但在你决定尝试之前,不妨先和我一起深入探讨一下它的优点、缺点以及它适用的使用场景。 …

移动机器人建模两轮驱动与四轮驱动

本文章仅记录小编再学习过程中的知识总结,若有不对之处请批评指正,互相学习,共同进步。 一、两轮驱动运动学模型 示例最后得出,该机器人会沿全局参考系的Y轴以速度1的旋转的同时,以速度3瞬时的移动。 二、四轮驱动运动…

Ps:抓手工具

抓手工具 Hand Tool常用于在文档窗口中平移图像,方便观察大尺寸图像(或者被放大的图像)的局部细节,是操作 Ps 最常用的辅助工具之一。 快捷键:H ◆ ◆ ◆ 常用操作方法与技巧 1、快捷键 H 是一个弹簧键。即&#xff…