| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> Python知识库 -> python爬虫——使用urllib爬取网页 -> 正文阅读 |
|
|
[Python知识库]python爬虫——使用urllib爬取网页 |
|
1.urlib库是python内置的http请求库,它可以看作处理url的组件集合。urllib库包含4大模块: (1)urllib.request:请求模块 (2)urllib.error: 异常处理模块 (3)urllib.parse:URL解析模块 (4)urllib.robotparser:robots.txt解析模块 下面是用urllib库爬取百度首页
以上代码打印出来就可以看到我们把百度首页的网页源码全部爬下来了 2.分析urlopen()方法 urlopen()可以接受多个参数,该方法的定义如下: urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None) 上述方法的定义中的详细参数介绍如下: (1)url:url地址的字符串,也可以是一个urllib.request对象 (2)data:必须是一个bytes对象;data必须符合它的标准格式,使用urllib.parse.urlencode()可以将自定义的data转换为标准格式,当用设置了data参数时,需要将请求改为post请求;当没有设置时以get方式请求。 (3)timeout:该参数用于设置超时时间,单位为秒。 ??(4)cafile/capath/cadefault:用于实现可信任的CA证书的HTTPS请求 (5)context:用于实现SSL加密传输 data参数的使用实例:
打印结果如下: "{
"args": {},
"data": "",
"files": {},
"form": {
"word": "hello"
},
"headers": {
"Accept-Encoding": "identity",
"Content-Length": "10",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "Python-urllib/3.6",
"X-Amzn-Trace-Id": "Root=1-61a0d4a8-7d86e6c70769eacc767cc4ce"
},
"json": null,
"origin": "111.2.154.24",
"url": "http://httpbin.org/post"
}
"
timeout参数的使用示例:
运行结果报错:During handling of the above exception, another exception occurred: urllib.error.URLError: <urlopen error timed out> 这里我们设置超时时间是0.1秒,程序0.1秒过后,服务器没有响应,于是报错了,错误原因是请求超时。 |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年12日历 | -2025/12/2 16:14:09- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |