zyj1214 发表于 2023-11-20 21:46:56

爬虫返回对象问题?

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种方式:服务器返回的一个是山地车,,一个是电瓶车
#我想要从家到公司上班,可以选择任何一种方式去公司,,
#只是去公司的方式不一样,,一种要消耗体力骑车去。一种要消耗电力去公司上班,
#去公司上班的过程,就像是 解析工具,,只是用不同的方式去公司(注解:就是用不同的解析工具一样)
#而山地车和电瓶车就好像服务器返回不同的交通工具一样,,自己可以选择不同的方式进行解析(也就是不同的方式上班一样)
#我这样理解对吗?
#求大神指点????

isdkz 发表于 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 请求和处理响应。
页: [1]
查看完整版本: 爬虫返回对象问题?