爬虫基础---urllib库的使用(获取网页信息)

本文详述了Python的urllib库在爬虫中的应用,包括urllib.request模块的urlopen、Request方法,设置代理和处理cookie,urllib.parse模块的url编码、url拆分和拼接,以及urllib.error模块的异常处理。通过这些内容,读者可以掌握利用urllib进行网络请求的基本技巧。
摘要由CSDN通过智能技术生成
  • 本文主要包括三个方面
    • 请求模块 urllib.request
    • 解析模块 urllib.parse
    • 异常处理模块 urllib.error

请求模块 urllib.request

1. urllib.request.urlopen
urllib.request.urlopen(url,data = None,timeout=None)
常见的三个参数–url,data,timeout

url参数

import urllib.request
response=urllib.request.urlopen('http://www.baidu.com')
print(response.read().decode('utf-8'))#用返回获取响应的内容

data参数

–get请求,不需要添加data参数(请求数据可以放在请求的url结尾)
–post请求,一定要注意对传递的数据进行url编码

import urllib.request
import urllib.parse

#对data参数进行编码
data=bytes(urllib.parse.urlencode(
    {'word':'hello'},encoding='utf-8',
    ) 
res=urllib.request.urlopen('http://www.baidum.com',data=data)

timeout参数

作用:有时候网络不稳定或者服务器异常,避免为了让程序一直等待,可以对请求进行超时设置

import urllib.request
res=urllib.request.urlopen('http://www.baidu.com',timeout=3)#timeout的单位为秒;若出现超时,会返回socket.timeout
print(res.read())

注意:
res.getheaders()—得到响应头
res.status—得到状态码
res.read()—-得到响应文本(二进制的bytes字节组)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值