轻量级爬虫开发(backup)——urllib库介绍1

 

前文提到过urllib2库,此处做简单的学习和总结。

urllib2是Python 2.7自带的库,无需下载,使用时导入即可,urllib2 官方文档:https://docs.python.org/2/library/urllib2.html

在Python 3.x中,为urllib,由于我使用的是Python 3.6,故后期实践中应用urllib

urllib官方文档:https://docs.python.org/3/library/urllib.html

1. urllib.request——请求模块

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

看一个官网上的例子

import urllib.request
with urllib.request.urlopen('http://www.python.org') as f:
    print(f.read(300))

# 运行结果
# b'<!doctype html>\n<!--[if lt IE 7]>   <html class="no-js ie6 lt-ie7 lt-ie8 lt-ie9">   <![endif]-->\n<!--[if IE 7]>      <html class="no-js ie7 lt-ie8 lt-ie9">          <![endif]-->\n<!--[if IE 8]>      <html class="no-js ie8 lt-ie9">                 <![endif]-->\n<!--[if gt IE 8]><!--><html class="no-js"'

如果将代码改为

import urllib.request
with urllib.request.urlopen('http://www.python.org') as f:
    print(f)

# 运行结果
# <http.client.HTTPResponse object at 0x0BCA9C30>

f.read()可以获取网页的内容,print(f.read(300))将显示前300字节的网页内容

在上述的例子中,参数只有url,这种请求方式叫做get请求方式

再看另外一个例子

import urllib.parse
import urllib.request

data = bytes(urllib.parse.urlencode({'word': 'hello'}), encoding='utf8')
print(data)
response = urllib.request.urlopen('http://httpbin.org/post', data=data)
print(response.read())

这个例子中,将参数data以bytes形式传入,这种请求方式叫做POST请求(此处代码来源于https://www.cnblogs.com/zhaof/p/6910871.html),urllib.parse.urlencode()的具体作用可以参看:http://dev.fyicenter.com/1000973_Using_urllib_parse_urlencode_.html

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值