Python爬虫--Urllib基础

1. urlretrieve

Urllib 库也是类似 request 库,用来解析html的

首先讲 urlretrieve 子模块

这个模块的作用是将网页下载到本地

语法: urlretrieve(网址,本地地址)

例如:

这样就可以了,他会将百度网页下载到本地D盘下,

不过图片那些可能下载不到,因为他做了防盗取


import urllib.requesturl = 'https://www.baidu.com/'urllib.request.urlretrieve(url,'D:/')

2. urlcleanup

urlcleanup 用来清除爬虫产生的一些缓存及其他一些杂七杂八的东西

他通常在请求网页的时候使用,

运行时不会有任何提示

例:


import urllib.requesturl = 'https://www.baidu.com/'urllib.request.urlretrieve(url,'D:/')urllib.request.urlcleanup()

3. info()

info() 用来获取网页的简介信息

例:


import urllib.requesturl = 'https://www.baidu.com/'data = urllib.request.urlopen(url)urllib.request.urlcleanup()print(data.info())

效果图:

images


4. getcode()

getcode() 获取状态码


import urllib.requesturl = 'https://www.baidu.com/'data = urllib.request.urlopen(url)urllib.request.urlcleanup()print(data.getcode())>>> 输出 200

5. geturl()

geturl() 获取当前访问网页的url地址

例:


import urllib.requesturl = 'https://www.baidu.com/'data = urllib.request.urlopen(url)urllib.request.urlcleanup()print(data.geturl())>>> 输出 https://www.baidu.com/

6. 超时设置

在我们访问网页的时候,可能会因为各种原因导致访问不成功,

这个原因可能是对方服务器反应慢,或者网速慢之类的问题,

那么我们就需要给代码更多的判断时间,

如果超过这个时间,那么我们就可以认为网页无法访问。

这里我们使用到 timeout() 函数来设置请求时间

它通常会配合 try except 函数一起使用

例:

设置超时时间为 5秒

len() 函数为获取返回长度,

decode() 是解码的意思,有些时候因为编码不同,不解码的话会出错,

第二个参数 ignore ,表示解码失败也强行解码


import urllib.requesttry:url = 'https://www.baidu.com/'data = urllib.request.urlopen(url,timeout=5)urllib.request.urlcleanup() # 清除缓存print(len(data.read().decode("utf-8","ignore")))except Exception as error:print("无法访问 " + str(error))>>> 输出 227

Urllib基础,有些时候没有 request模块方便

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

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

相关文章

【管理咨询宝藏93】大型制造集团数字化转型设计方案

【管理咨询宝藏93】大型制造集团数字化转型设计方案 【格式】PDF版本 【关键词】国际咨询公司、制造型企业转型、数字化转型 【核心观点】 - 235页大型制造型集团数字化转型方案设计!细节非常详尽,图表丰富! - 系统架构必须采用成熟、具有国…

Kafka应用Demo:按主题订阅消费消息

安装环境 Kafka安装可参考官方网站的指导(https://kafka.apache.org/quickstart), 按步骤解压压缩包,修改配置。然后再启动zookeeper和kafka-server即可。 需要注意的一点:如果是在VMware虚拟机上启动的kafka, 需要修改一下server.properties配置文件&am…

STM32G0存储器和总线架构

文章目录 前言一、系统架构二、存储器构成三、存储器地址映射四、存储器边界地址五、外设寄存器边界地址 前言 此文章是STM32G0 MCU的学习记录,并非权威,请谨慎参考。 STM32G0主流微控制器基于工作频率可达64 MHz的高性能Arm Cortex-M0 32位RISC内核。该…

观测云 VS ELK:谁是日志监控的王者?

前言 作为 IT 信息系统运行状态感知和故障分析的重要手段,日志在行业兴起之初便为运维和开发环节所广泛应用。当应用和系统发生故障或出现问题时,日志数据成为了排查和诊断问题的重要依据。通过分析日志,开发人员和运维人员可以了解系统的运…

java JMH 学习

JMH 是什么? JMH(Java Microbenchmark Harness)是一款专用于代码微基准测试的工具集,其主要聚焦于方法层面的基准测试,精度可达纳秒级别。此工具由 Oracle 内部负责实现 JIT 的杰出人士编写,他们对 JIT 及…

PD芯片取电:电子设备的动力之源6020 6500

随着现代电子技术的迅猛发展,电源管理技术在各种电子设备中扮演着越来越重要的角色。特别是近年来,随着USB Power Delivery(PD)技术的普及,PD芯片取电技术因其高效、灵活和安全的特点,成为了电子设备充电和…

Vue + Element-plus 快速入门

1. 构建项目 npm init vuelatest # 可选项一路回车,使用默认NO,按提示执行3条命令 cd 项目名 npm install npm run dev 2. 下载element-plus npm install element-plus --save 3.替换main.js import { createApp } from vue import ElementPlus from element-plu…

相关性分析

目录 1.交叉功率谱 2. 相关系数 1.交叉功率谱 % 生成两个信号 t 0:0.001:100; x sin(2*pi*1*t)sin(2*pi*2*t); y sin(2*pi*t )sin(2*pi*2*t); % 计算交叉功率谱密度 [Pxy, F] cpsd(x, y, [], [], [], 1/(t(2)-t(1))); % 使用正确的采样频率 % 绘制交叉功率谱密度图 …

ISIS的基本配置

1.IS-IS协议的基本配置(1) 2.IS-IS协议的基本配置(2) 3.IS-IS协议的基本配置(3) 4.案例:IS-IS配置 R1的配置如下: [AR1czy]isis 1 [AR1czy-isis-1]is-level level-1 [AR1czy-isis-…

电磁兼容(EMC):静电放电(ESD)基本原理

目录 1. 静电学简史 2. 摩擦生电原理 3. 总结 静电放电是电磁兼容(EMC)系列里最让人头疼的问题之一。无论是现在还是未来,静电问题肯定是做产品设计需要重点考虑的问题。这里来聊聊关于静电放电的一些发展历程和基本原理。 1. 静电学简史…

市面上好用的AI工具有哪些?

市面上的AI工具数不胜数,选择合适自己的AI工具则需要考虑自己的需求,看是否能满足的使用需求。那么市面上又有哪些好用的AI工具呢? 泰迪智能科技拥有简单易用的大数据挖掘建模平台,能够让数据创造更大的价值。 功能板块&…

C++实现二叉搜索树(模型)

目录 1.二叉搜索树的概念 2.二叉搜索树的实现 2.1总体代码预览 2.2各个函数实现原理 链表结构体 二叉搜索树的成员变量 二叉搜索树的插入 二叉搜索树的查找 二叉搜索树的遍历 二叉搜索树的删除 1.二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树&#…

字符设备驱动流程

字符设备驱动: linux系统驱动程序分为三大类,字符设备驱动,块设备驱动和网络设备驱动。其中字符设备驱动是使用最多的一种,从点灯到llC,SPI,音频设备等的驱动都是字符设备驱动。块设备和网络设备驱动要比字…

5.12 VUE项目实现Google 第三方登录

VUE项目实现Google 第三方登录 目录一、Google开发者平台配置1. 新建项目2. 配置 OAuth 权限请求页面并选择范围3. 启动API 和 服务 二、 登录代码实现1. 参考Google官网文档2. Google官网代码生成器3. 项目中实装 目录 一、Google开发者平台配置 Google Cloud: https://conso…

盒模型,BFC以及行内块级元素

一.盒模型篇 css基础框盒模型介绍: 当对一个文档进行布局的时候,浏览器的渲染引擎会根据标准之一的css基础框盒模型,将所有元素表示为一个个矩形的盒子,每个盒子由四部分组成,分别是内容 内边距 边框 外边距&#xff…

如何快速搭建nginx虚拟主机

华子目录 实验1:基于IP地址的虚拟主机原理 实验2:基于端口号的虚拟主机原理 实验3:基于域名的虚拟主机原理 实验1:基于IP地址的虚拟主机 原理 如果一台服务器有多个IP地址,而且每个IP地址与服务器上部署的每个网站一一…

beacon-chain+ethereum打镜像及推送镜像

部署详情 1、编写Dockerfile镜像 beacon chain对应Dockerfile文件 # 使用 Ubuntu 20.04 作为基础镜像 FROM ubuntu:20.04# 安装必要的系统库和工具 RUN apt-get update && \apt-get install -y curl && \apt-get clean# 创建存储数据的目录 RUN mkdir -p /dat…

HarmonyOS开发案例:【计算器】

介绍 基于基础组件、容器组件,实现一个支持加减乘除混合运算的计算器。 说明: 由于数字都是双精度浮点数,在计算机中是二进制存储数据的,因此小数和非安全整数(超过整数的安全范围[-Math.pow(2, 53),Math.…

【稳定检索|投稿优惠】2024年新能源技术与环境工程国际会议(ICNTEE 2024)

2024 International Conference on New Energy Technology and Environmental Engineering 一、大会信息 会议名称:2024年新能源技术与环境工程国际会议会议简称:ICNTEE 2024收录检索:提交Ei Compendex,CPCI,CNKI,Google Scholar等会议官网&…

【运维】如何安装ubuntu-24.04? 如何分区?

如何安装ubuntu-24.04?如何分区 经过一系列折腾,我总结了这几点: (1)在BIOS启动设置里,如果是GPT的硬盘格式,那么对应的就是UEFI的启动方式;如果是MBR的硬盘格式,那么对…