鱼C论坛

 找回密码
 立即注册
查看: 723|回复: 1

[已解决]爬虫返回对象问题?

[复制链接]
发表于 2023-11-20 21:46:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import urllib.request
import requests

url = 'http://www.baidu.com'

# 模拟浏览器向服务器发送请求
r1 = urllib.request.urlopen(url)
r2 = requests.get(url=url)
print(type(r1))
print(type(r2))
#输出:
<class 'http.client.HTTPResponse'> #山地车
<class 'requests.models.Response'>#电瓶车
#我是不是可以这样理解!请求的2种方式:服务器返回的一个是山地车,,一个是电瓶车
#我想要从家到公司上班,可以选择任何一种方式去公司,,
#只是去公司的方式不一样,,一种要消耗体力骑车去。一种要消耗电力去公司上班,
#去公司上班的过程,就像是 解析工具,,只是用不同的方式去公司(注解:就是用不同的解析工具一样)
#而山地车和电瓶车就好像服务器返回不同的交通工具一样,,自己可以选择不同的方式进行解析(也就是不同的方式上班一样)
#我这样理解对吗?
#求大神指点????
最佳答案
2023-11-20 21:47:07
这个比喻是不太准确的。 urllib.request  和  requests  都是用来发送 HTTP 请求的库,但它们的内部实现是不同的。 urllib.request  是 Python 自带的库,而  requests  是一个第三方库。

urllib.request.urlopen  返回的是一个  http.client.HTTPResponse  类型的对象,而  requests.get  返回的是一个  requests.models.Response  类型的对象。这两个对象都包含了服务器返回的 HTTP 响应,但是它们的方法和属性可能有所不同。

你可以把它们理解为两种不同的工具,用来处理同样的任务,但是具体的使用方式和功能可能有一些差异。在实际开发中,你可以根据自己的喜好和需求选择其中之一来发送 HTTP 请求和处理响应。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-20 21:47:07 | 显示全部楼层    本楼为最佳答案   
这个比喻是不太准确的。 urllib.request  和  requests  都是用来发送 HTTP 请求的库,但它们的内部实现是不同的。 urllib.request  是 Python 自带的库,而  requests  是一个第三方库。

urllib.request.urlopen  返回的是一个  http.client.HTTPResponse  类型的对象,而  requests.get  返回的是一个  requests.models.Response  类型的对象。这两个对象都包含了服务器返回的 HTTP 响应,但是它们的方法和属性可能有所不同。

你可以把它们理解为两种不同的工具,用来处理同样的任务,但是具体的使用方式和功能可能有一些差异。在实际开发中,你可以根据自己的喜好和需求选择其中之一来发送 HTTP 请求和处理响应。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 20:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表