|  | 
 
 发表于 2023-11-20 21:19:35
|
显示全部楼层 
| 这两个类型的区别在于 urllib.request.urlopen 返回的是 http.client.HTTPResponse 对象,而 requests.get 返回的是 requests.models.Response 对象。 
 http.client.HTTPResponse 是Python标准库中处理HTTP响应的类,它提供了一些方法来获取响应的状态码、头部信息和响应体等。而 requests.models.Response 是Requests库中封装的响应对象,它也提供了类似的方法来获取响应信息。
 
 在使用BeautifulSoup和lxml解析时,两者的区别并不大。你可以使用 r1.read() 来获取 http.client.HTTPResponse 对象的响应内容,然后将其传递给BeautifulSoup或者lxml进行解析。对于 requests.models.Response 对象,你可以直接使用 r2.text 或者 r2.content 来获取响应内容,然后同样传递给解析器进行解析。
 
 总的来说, requests 库更加方便和易用,因此在实际开发中推荐使用 requests 库进行HTTP请求的发送和处理。
 | 
 |