21天python分布式爬虫---网络请求1

urlopen函数用法

在python的urllib库中,所有和网络请求相关的方法,都被收集到urllib.request模块下面了
限免先来看下urlopen的使用:

from urllib import request
resp=request.urlopen('http://www.baidu.com')
print(resp.read())

对urlopen函数的进行详细讲解

  1. url:请求的url。
  2. date: 请求的data,如果设置了这个值,那么将变成post请求。
  3. 返回值: 返回值是一个http.client.HTTPResponse对象,这个对象是一个类文件句柄对象。有read(size),readline,readlines以及getcode等方法.

urlretrieve函数用法

这个函数可以方便的将网页上的一个文件保存到本地,比如用以下的代码可以将百度的网页下载到本地

from urllib import request
rquest.urlretrieve('http://www.baidu.com/','baidu.html')

参数编码和解码函数

urlencode函数

用浏览器发送请求的时候,如果url中包含了中文或者其他的特殊字符,那么浏览器会自动给我们进行编码,而如果使用代码发送的话,就不会自动编码,这个时候就可以用urlencode函数来实现.

from urllib import parse
data=['name':'爬虫基地','greet':'hello world','age':'100']
qs=data.urlencode(data)
print(qs)

parse_qs函数

将经过编码后的url参数进行解码。

from urllib import prase
qs="(编码)"
print(parse.parse_qs(qs))

urlparse和urlsplit函数

当我们拿到一个url时,想要对这个url中的各个组成部分进行分割,那么这个时候就可以用urlparse和urlsplit。

from urllib import parse
url='htt://www.baidu.com/s?wd=python&username=abo#1'

result=parse.urlparse(url)
printf('scheme:',result.scheme)

而这两个函数进本上是一摸一样的,唯一的不同是,'urlparse’里面多了一个’parans’属性,而’urlsplit’没有这个’parans’属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值