网络请求urllib库的基本使用 ----------python的爬虫学习

本文介绍了如何使用Python的urllib库进行网络请求,包括获取网页数据、读取响应信息、保存网页到本地等操作。同时,展示了urlopen方法的使用及返回结果的处理方式。

简单的网络请求:

from urllib import request
url = "http://www.baidu.com"
rep=request.urlopen(url)

urlopen请求数据,返回给了变量rep

 

对返回数据的操作:

urlopen()返回的结果是类文件对象,也是可迭代的,下面列举出比较常用的方法
read()、readline()、readlines() :读取文件

rep = request.urlopen(url)
rep.read()
【Squeezed text】

  

rep.readline()

b'<!DOCTYPE html>\n'

rep.readlines()
【Squeezed text】

  

info():返回头信息

print(rep.info())

Date: Sat, 27 Jul 2019 03:32:18 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: Close
Vary: Accept-Encoding
Set-Cookie: BAIDUID=71F5315626EBFC522CD27C212E0BDC71:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BIDUPSID=71F5315626EBFC522CD27C212E0BDC71; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
#太多了省略.......

  


getcode():返回http状态码

print(rep.getcode())
200

  


geturl():返回url

print(rep.geturl())
http://www.baidu.com

  

 

urllib中内置了一个方法使保存网页数据更加方便

from urllib.request import urlretrieve
url = "http://www.baidu.com"
urlretrieve(url,r'D:/baidu.html')

  


上面代码等同于

from urllib import request
request.urlretrieve("http://www.baidu.com",r"D:/baidu.html")
('D:/baidu.html', <http.client.HTTPMessage object at 0x03576A30>)

  

urlretrieve(url, filename=None, reporthook=None, data=None)


url: 文件url
filename: 保存到本地时,使用的文件(路径)名称
reporthook: 文件传输时的回调函数,常用于显示进度条
data: post提交到服务器的数据
该方法返回一个二元元组("本地文件路径",<http.client.HTTPMessage对象>)

转载于:https://www.cnblogs.com/lcyzblog/p/11257286.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值