python网络爬虫之urllib库
urllib库
urllib是Python内置的HTTP请求库,它可以看所是URL的组件合集,request就是基于urllib开发的。
四大模块
- urllib.request:请求模块
- urllib.error:异常处理模块
- urllib.parse:URL解析模块
- urllib.robotparser:robotparser解析模块
爬取一个网页
import urllib.request
# urlopen()打开网页
response = urllib.request.urlopen('http://www.baidu.com')
# read() 读取网页的内容
html = response.read().decode('utf-8')
# .decode()解码,将二进制转换指定编码的字符
print(html)
print(response.getcode()) # 状态码
print(response.info()) # 返回页面的信息
urlopen()方法的参数和用法
urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
*, cafile=None, capath=None, cadefault=False, context=None)
- url 打开统一资源定位符 url,可以是一个字符串或一个 Request 对象。
- data:必须是一个对象,用于给定发往服务器的附加数据,若无需此类数据则为 None ,目前 唯一用到 data 的只有 HTTP 请求。支持的对象类型包括字节串、类文件对象和可遍历的类字节串对象。设置data的值后,需要将发送的请求转换成POST请求 对于 HTTP POST 请求方法而言,data 必须符合标准 application/x-www-form-urlencoded 标准格式。 可以使用urllib.parse.urlencode() 函数将自定义的data转换成标准格式接受的参数,参数类型映射对象或二元组序列(键值对类型,二元元组)返回的是一个字符串,作为data的参数,需要将返回的字符串转成字节串(bytes)
- timeout 为可选参数,用于指定阻塞操作(如连接尝试)的超时时间,单位为秒。如未指定,将使用全局默认超时参数)。本参数实际仅对 HTTP、HTTPS 和 FTP 连接有效。
- cafile=None, capath=None, cadefault=False, 和CA证书相关,一般不用这几个参数
- context 参数则必须是一个 ssl.SSLContext 实例,实现SSL加密传输,一般也不用
import urllib.parse
data = bytes(urllib.parse.urlencode({'world':'hello'}).encode('utf-8'))
# urlopen()打开网页
response = urllib.request.urlopen('http://httpbin.org/post',data=data)
print(response.read())
print("="*50)
response2 = urllib.request.urlopen('http://www.baidu.com',timeout=2) # 超时时间设置为2秒
print(response2.read())
注意response.read()读取以后指针就跑到最后了,所以下一次在读取的时候得到的内容为空。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanejkb
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01