前言
上一篇内容,已经学会了使用简单的语句对网页进行抓取。接下来,详细看下urlopen的两个重要参数url和data,学习如何发送数据data。我们想做一个百度翻译就需要向百度翻译的服务器发送我们想要翻译的内容。
上一篇我们说过 urllib有几个默认的参数,出了几个默认的参数外 出了url 这次我需要用到一个data
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
urlopen的url参数
url不仅可以是一个字符串,例如:http://www.baidu.com。url也可以是一个Request对象.
urlopen()返回的对象,除了read()方法外,还有geturl()方法、info()方法、getcode()方法。、
geturl():返回的是一个url的字符串;
info():返回的是一些meta标记的元信息,包括一些服务器的信息;
getcode():返回的是HTTP的状态码,如果返回200表示请求成功。
urlopen的data参数
我们可以使用data向服务器发送数据,我们这篇要制作的百度翻译就通过data向百度翻译的服务器发送数据,然后或去百度翻译服务器返回的结果。最终将显示出来。
data参数有自己的格式,它是一个基于application/x-www.form-urlencoded的格式,具体格式我们不用了解, 因为我们可以使用urllib.parse.urlencode()函数将字符串