python网络爬虫urllib.request模块get请求示例

简介: python网络爬虫urllib.request模块get请求示例

urllib.request使用示例

示例

需求:向向百度发请求,获取响应,得到html文件

import urllib.request
response = urllib.request.urlopen('https://www.baidu.com')  # 在urlopen()中传入url参数,以获取响应对象
print(response)
# print(type(response))  # 这个response不同于requests.get()得到的响应对象,这里是一个HTTP响应对象 <class 'http.client.HTTPResponse'>
# 用read()把响应对象的内容读取出来
# print(response.read()) # 字节流

print(response.read().decode('utf-8'))

# print(response.getcode())  # 得到响应码,200表示请求成功
# print(response.geturl())  # 返回实际数据的url(可以防止重定向问题)

输出结果:

<http.client.HTTPResponse object at 0x000002028753E588>
<html>
<head>
    <script>
        location.replace(location.href.replace("https://","http://"));
    </script>
</head>
<body>
    <noscript><meta http-equiv="refresh" content="0;url=http://www.baidu.com/"></noscript>
</body>
</html>

注:这里只演展示思路逻辑,没有构建请求对象,没有使用UA.。所以得到的源码不是真实的源码。真实的源码更加复杂,设置UA过程点击链接:urllib.request构建请求对象(写入UA)

方法解读

urllib.request 的 urlopen() 方法

  • urllib.request.urlopen() 发请求,得到的response为响应对象,urlopen()的常用参数是url。
    默认是get访问,如果想要post访问需要设置参数data,格式是一个字典,这里不再详述。

response响应对象的方法

read()方法

  • 对于得到的响应对象response,使用read()方法可以读取访问到的字节流

print(response.read())

decode()方法

  • 对得到的字节流对象,使用decode()方法解码为字符串。常用参数为 ‘utf-8’

print(response.read().decode(‘utf-8’))

getcode()方法

  • 得到响应码,200表示请求成功

geturl()方法

  • 返回实际数据的url(可以防止重定向问题)

print(response.geturl())

目录
相关文章
|
机器学习/深度学习 算法 安全
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
505 0
|
JSON API UED
运营商二要素验证 API:核验身份的一致性技术实践(Python示例)
随着线上业务快速发展,远程身份核验需求激增。运营商二要素验证API通过对接三大运营商实名数据,实现姓名、手机号、身份证号的一致性校验,具备权威性高、实时性强的优势,广泛应用于金融、电商、政务等领域。该接口支持高并发、低延迟调用,结合Python示例可快速集成,有效提升身份认证的安全性与效率。
1203 0
|
JSON API 数据格式
Python采集京东商品评论API接口示例,json数据返回
下面是一个使用Python采集京东商品评论的完整示例,包括API请求、JSON数据解析
|
11月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
机器学习/深度学习 算法 PyTorch
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
【Pytorch框架搭建神经网络】基于DQN算法、优先级采样的DQN算法、DQN + 人工势场的避障控制研究(Python代码实现)
324 1
|
12月前
|
数据采集 Web App开发 前端开发
处理动态Token:Python爬虫应对AJAX授权请求的策略
处理动态Token:Python爬虫应对AJAX授权请求的策略
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
470 0
|
数据采集 消息中间件 NoSQL
分布式爬虫的全局请求间隔协调与IP轮换策略
分布式爬虫的全局请求间隔协调与IP轮换策略
|
机器学习/深度学习 算法 调度
基于遗传算法GA算法优化BP神经网络(Python代码实现)
基于遗传算法GA算法优化BP神经网络(Python代码实现)
740 0
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
667 0

推荐镜像

更多