Urllib库的基本用法

Urllib库的基本用法

1、什么是url?

统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。

基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志

2、什么是Urllib库?

Urllib是python内置的处理URL的库,
包括以下模块
urllib.request 打开、读URLs
urllib.error 包含了request出现的异常
urllib.parse url解析模块
urllib.robotparser robots.txt解析模块(spider在访问一个网站时,会首先会检查该网站的根域下是否有一个叫做robots.txt的纯文本文件。您可以在您的网站中创建一个纯文本文件robots.txt,在文件中声明该网站中不想被robot访问的部分或者指定搜索引擎只收录特定的部分)

 

3、实例

(1)读一个网页

import urllib.request
with urllib.request.urlopen('http://www.baidu.com') as f:
    print(f.read(20).decode('utf8'))

  其中,urlopen返回的是一个字节类型的对象,这是由于urlopen不知道从服务器上读的数据该如何解码,需要我们自己对字符串解码。

如上,可以打开百度的界面,

<span>Urllib库的基本用法</span>

可以看到,此页面用utf-8编码。

 

当然,你也可以把代码改为:

import urllib.request
req = urllib.request.Request(url = 'http://www.baidu.com')
with urllib.request.urlopen(req) as f:
    print(f.read(20).decode('utf8'))

  访问请求放置在Request类中,该类包含一些属性,可以传递数据等,此处不过于深究。

(2)登陆动作(使用基础的HTTP身份验证)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119475.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 框架结构和砖混结构的区别_react框架官网

    框架结构和砖混结构的区别_react框架官网实现:创建四个组件,分别是头组件,尾组件,list组件,item组件,存在于这个mvc中的。在APP.js中分别引入前三个个组件(item组件是存在于list中的,所以在list中引入item组件)在app.js中写好初始数据,在list中显示出来const{todos}=this.propsreturn(<ul>{todos.map(todo=>{return<Itemkey={

    2022年9月12日
    1
  • 年度总结与来年计划_2016年一2021的工作总结

    年度总结与来年计划_2016年一2021的工作总结  光阴似箭,日月如梭!眨眼间已到年底,今年感慨颇丰,获益良多。因为我认为努力了就肯定会有收获,哪怕是收获那一滴滴辛勤的汗水。  我在公司任务轻松时,加了些前端群(重点推荐豪情群),在群里分享技术以及生活的点滴,同时认识了一些志同道合的朋友。有大牛建议我体验一番分享的乐趣,于是我下下半年开始写博。虽质量不高,但其中的乐趣博友们应该都能感受到。写完每篇博文后,我都能体会到了在这个浮躁的时代我平静…

    2025年9月4日
    3
  • ORACLE新增主键问题【CREATE PRIMARY KEY AFTER CREATED A TABLE】

    ORACLE新增主键问题【CREATE PRIMARY KEY AFTER CREATED A TABLE】

    2021年7月25日
    222
  • 模电七:集成运算放大器(上)

    模电七:集成运算放大器(上)!!!!

    2022年5月27日
    26
  • mysql的命名规则_Mysql命名规范

    mysql的命名规则_Mysql命名规范转自:https://blog.csdn.net/fujian9544/article/details/86649096数据库表字段命名规范内容由网上摘抄并进行总结/精简/标记后的内容本文包含了数据库命名数据库表命名数据库表字段命名SQL语言编码的规范一、数据库命名规范采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’_’组成,命名简洁明确,多个单词用下划线’_’分隔,一个…

    2022年7月14日
    14
  • c语言socket通信

    c语言socket通信1. 前言网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。什么是SocketSocket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发T

    2022年7月13日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号