Python核心模块之urllib用法详解【Python每日一个知识点第79期】

urllib是Python内建的核心模块之一,主要用于各种网页请求的构造。这个模块操作非常简单,而且功能比较强大,是爬虫入门的不二之选。今天我们为大家整理了urllib库的一些核心用法,帮助大家更快的掌握其用法。Python爬虫项目中常用的requests库即时基于urllib构建的。


Get

urllib的

1
request

模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应:

例如,对豆瓣的一个URL

1
https://api.douban.com/v2/book/2129650

进行抓取,并返回响应:

可以看到HTTP响应的头和JSON数据:

如果我们要想模拟浏览器发送GET请求,就需要使用

1
Request

对象,通过往

1
Request

对象添加HTTP头,我们就可以把请求伪装成浏览器。例如,模拟iPhone 6去请求豆瓣首页:

这样豆瓣会返回适合iPhone的移动版网页:

Post

如果要以POST发送一个请求,只需要把参数

1
data

以bytes形式传入。

我们模拟一个微博登录,先读取登录的邮箱和口令,然后按照weibo.cn的登录页的格式以

1
username=xxx&password=xxx

的编码传入:

如果登录成功,我们获得的响应如下:

如果登录失败,我们获得的响应如下:

Handler

如果还需要更复杂的控制,比如通过一个Proxy去访问网站,我们需要利用

1
ProxyHandler

来处理,示例代码如下:

小结

urllib提供的功能就是利用程序去执行各种HTTP请求。如果要模拟浏览器完成特定功能,需要把请求伪装成浏览器。伪装的方法是先监控浏览器发出的请求,再根据浏览器的请求头来伪装,

1
User-Agent

头就是用来标识浏览器的。


《Python入门每日一个知识点》栏目是马哥教育Python年薪20万+的学员社群特别发起,分享Python工具、Python语法、Python项目等知识点,帮助大家快速的了解Python学习,快速步入Python高薪的快车道。

【超全整理】《Python自动化全能开发从入门到精通》python基础教程笔记全放送

相关新闻

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:xiujiang.yang@magedu.com

工作时间:周一至周日,09:00-18:30

QR code