get请求 函数封装

本文介绍了一种利用Python的urllib库实现网页爬取的方法。通过定义一个函数,该函数接收URL和headers参数,自动处理HTTP错误及超时等问题,并返回网页内容的字节流。适用于快速获取网页数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 导包
from urllib import request
# 导入urllib.error包中 HTTPError,URLError 模块   异常捕获
from urllib.error import HTTPError,URLError

#1. 传入url
#2. user_agent
#3. headers
#4. 定义Request
#5. urlopen
#6. 返回byte数组
def urlrequests(url,headers=None):
    # 如果headers不存在则使用自定义好的headers
    if headers == None:
        headers = {
            'User-Agent': ' Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
        }
    html_bytes=b''#倒成二进制bytes格式
    try:
        req=request.Request(url,headers=headers)
        response=request.urlopen(req)#第二个参数设置为timeout 如果请求超时会报出except URLError错误
        html_bytes=response.read()
    except HTTPError as a:
        print(a)
    except URLError as e:
        print(e)
    except Exception as s:
        print(s)
    return html_bytes

if __name__ == '__main__':
    html_bytes=urlrequests('http://www.xicidaili.com')#写入想要爬取的网站地址
    print(html_bytes.decode('utf-8'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值