Python3如何对urllib和urllib2进行重构
作者:Rogn 发布时间:2022-05-18 08:48:52
标签:python,3,urllib,重构
这篇文章主要介绍了Python3如何对urllib和urllib2进行重构,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
python3对urllib和urllib2进行了重构,拆分成了urllib.request,urllib.response, urllib.parse, urllib.error等几个子模块,这样的架构从逻辑和结构上说更加合理。urllib库无需安装,python3自带。python 3.x中将urllib库和urilib2库合并成了urllib库。 其中
urllib2.urlopen() 变成了 urllib.request.urlopen()
urllib2.Request() 变成了 urllib.request.Request()
python2中的 cookielib 改为 http.cookiejar.
import http.cookiejar 代替 import cookielib
urljoin 现在对应的函数是 urllib.parse.urljoin
代码如下
import urllib.request
import http.cookiejar
url ="http://www.baidu.com"
print ('第一种方法')
response1=urllib.request.urlopen(url)
print (response1.getcode())
print (len(response1.read()))
print ('第二种方法')
request=urllib.request.Request(url)
request.add_header("user-agent","Mozilla/5.0")#将爬虫伪装成浏览器
response2=urllib.request.urlopen(request)
print (response2.getcode())#打印状态码
print (len(response2.read()))#打印内容长度
print ('第三种方法')
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
urllib.request.install_opener(opener)
response3=urllib.request.urlopen(url)
print (response1.getcode())
print (cj) #输出cookie
print (response1.read())
来源:https://www.cnblogs.com/lfri/p/11919593.html


猜你喜欢
- 在网页设计中有一些通用的交互设计模式。网站导航各种各样的通用和大家熟知的设计模式,可以用来作为为网站创建有效地信息架构的基础。这篇指南涵盖了
- 准备软件:1. J2SDK(1.5.0): jdk-1_5_0-linux-i586-rpm.bin2. Apache(2.0.53): h
- 一 前言pandas学到分组迭代,那么基础的pandas系列就学的差不多了,自我感觉不错,知识追寻者用pandas处理过一些数据,蛮好用的;
- var声明变量的作用域限制在其声明位置的上下文中var x = 0; // x是全局变量,并且赋值为0。console.log(typeof
- 前言今天我看到线性规划模型开头的介绍,特别不错,因此,我把它记录下来了,分享给大家在工程技术、经济管理、科学研究、军事作战训练及日常生活等众
- <html> <head> <title>JavaScript Data Access Test<
- 其实就是通过 FontProperties来设置的,请参考以下代码:import matplotlib.pyplot as pltfrom
- 树形目录显示程序问题描述:在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变
- Ajax类  
- 我就废话不多说了,还是直接看代码吧!#!/usr/bin/env python3#coding = utf-8def is_triangle
- 今天写了个小功能,看起来挺简单,写的过程中发现了些坑。1.div没有disabled的属性,所以得写成button2.disabled在da
- 1.概述Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用它来将Python程序打包为安卓的apk安装文件。以下是在wi
- 前言很久没更新这个专栏了,最近比较忙。前段时间看到了这个模型觉着很有意思,弄下来自己玩了玩,但是没时间写文章,一直搁置到现在。废话不多说,先
- 1.创建表:drop table if exists photo;CREATE TABLE photo (  
- Mysql环境变量配置mysql的环境变量配置步骤1.1、在桌面选择“计算机”的图标,右键&
- 我们通常可以使用os模块的命令进行执行cmd方法一:os.systemos.system(执行的命令)# 源码def system(*arg
- 在一些朋友安装完SQL Server 2008之后大多会遇到连接出错的问题。特别对于我们这样的新手而言简直郁闷的要死,好不容易装玩了又出现了
- MySQL安全性指南(2) 作 者: 晏子2.1.3 数据库和表权限下列权限运用于数据库和表上的操作。ALTER允许你使用ALTER TAB
- 如何实现优惠打折? 代码及说明见下:<%@ LANG
- 非聚集索引,这个是大家都非常熟悉的一个东西,有时候我们由于业务原因,sql写的非常复杂,需要join很多张表,然后就泪流满面了。。。这时候就