1.urlparse模块

urlparse.urlparse()      将一个url转化为(prot_sch, net_loc, path, params, query, frag)的元组

urlparse.urlunparse()       将(prot_sch, net_loc, path, params, query, frag)拼接成一个url

urlparse.urljoin()           将url1的base部分与url2的path部分组装成新的url

例如:

>>> import urlparse
>>> urlparse.urlparse("http://www.python.com/doc/FAQ.html")
ParseResult(scheme='http', netloc='www.python.com', path='/doc/FAQ.html', params='', query='', fragment='')

2.urllib模块

使用urllib.urlopen(urlstr, postQueryData)可以返回一个文件对象,用于下载文件

获取到文件对象后,可以使用下面的方法操作文件对象:

f.read([bytes])     从文件中读出所有或bytes个字节

f.readline()      从文件中读出一行

f.readlines()      将文件的每一行读出返回一个列表

f.close()      关闭文件对象

f.fileno()      返回文件的句柄

f.info()      返回文件的MIME头文件

f.geturl()    返回文件真正的url

使用urllib.urlretrieve(urlstr, localfile=None, downloadSta-tusHook=None)可以下载文件并返回(filename, minme_hdrs)的元组

使用urllib.quote()和urllib.quote_plus()可以将url进行编码

使用urllib.unquote()和urllib.unquote_plus()可以将url进行反编码

使用urllib.urlencode(paramDict)可以将参数字典拼接成url

3.urllib2模块

使用urllib2可以解决更复杂的url打开问题,典型的应用是有基本认证需求的web站点

#! /usr/bin/env python
# -*- coding: UTF-8 -*-

import urlparse
import urllib2

USER = '
PASSWORD = 'Chgg123456'
URL = "http://erp.chinahanguang.com"

def handle_auth1(url):
        auth_handler = urllib2.HTTPBasicAuthHandler()
        auth_handler.add_password("Archives", urlparse.urlparse(url)[1], USER, PASSWORD)

        open_handler = urllib2.build_opener(auth_handler)
        urllib2.install_opener(open_handler)
        return url

url = handle_auth1(URL)
f = urllib2.urlopen(url)
print f.readlines()
f.close()

Python的web编程的更多相关文章

  1. Python 之Web编程

    一 .HTML是什么? htyper text markup language 即超文本标记语言 超文本:就是指页面内可以包含图片.链接.甚至音乐.程序等非文字元素 标记语言:标记(标签)构成的语言 ...

  2. Python的Web编程[0] -> Web客户端[1] -> Web 页面解析

     Web页面解析 / Web page parsing 1 HTMLParser解析 下面介绍一种基本的Web页面HTML解析的方式,主要是利用Python自带的html.parser模块进行解析.其 ...

  3. Python的Web编程[1] -> Web服务器[0] -> Web 服务器与 CGI / WSGI

    Web服务器 / Web Server 对于Web来说,需要建立一个Web服务器,必须建立一个基本的服务器和一个处理程序, 基本服务器的主要作用是,在客户端和服务器端完成必要的HTTP交互, 处理程序 ...

  4. Python的Web编程[0] -> Web客户端[0] -> 统一资源定位符 URL

    统一资源定位符 / URL 目录 URL 构成 URL 解析 URL 处理 1 URL构成 统一资源定位符(Uniform Resource Locator) 是对可以从互联网上得到的资源的位置和访问 ...

  5. Python的Web编程[2] -> WebService技术[0] -> 利用 Python 调用 WebService 接口

    WebService技术 / WebService Technology 1 关于webservice / Constants WebService是一种跨编程语言和跨操作系统平台的远程调用技术. W ...

  6. python web编程-概念预热篇

    互联网正在引发一场革命??不喜欢看概念的跳过,注意这里仅仅是一些从python核心编程一书的摘抄 这正是最激动人心的一部分了,web编程 Web 客户端和服务器端交互使用的“语言”,Web 交互的标准 ...

  7. Python 四大主流 Web 编程框架

    Python 四大主流 Web 编程框架 目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实.但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架 ...

  8. 系列文章--Python Web编程

    我从网上找到了其他园友的文章,很不错,留着自己学习学习. Python Web编程(一)Python Web编程(二)Python Web编程(三)Python Web编程(四)Python Web编 ...

  9. python web编程-web客户端编程

    web应用也遵循客户服务器架构 浏览器就是一个基本的web客户端,她实现两个基本功能,一个是从web服务器下载文件,另一个是渲染文件 同浏览器具有类似功能以实现简单的web客户端的模块式urllib以 ...

随机推荐

  1. 【vue】钩子函数生命周期

    图1 图2: 图3 相关资料:http://www.zhimengzhe.com/Javascriptjiaocheng/236707.html    https://segmentfault.com ...

  2. 海纳百川而来的一篇相当全面的Java NIO教程

    目录 零.NIO包 一.Java NIO Channel通道 Channel的实现(Channel Implementations) Channel的基础示例(Basic Channel Exampl ...

  3. 【C#复习总结】dynamic

    介绍 C# 4 引入了一个新类型 dynamic. 该类型是一种静态类型,但类型为 dynamic 的对象会跳过静态类型检查. 大多数情况下,该对象就像具有类型 object 一样. 在编译时,将假定 ...

  4. IntelliJ IDE 常用配置

    一. Intellij IDE 安装与破解 详细安装步骤 二.IntelliJ Maven 配置 查看: 使用IntelliJ IDEA 配置Maven(入门) 三.IntelliJ Tomcat 配 ...

  5. xadmin集成DjangoUeditor

    1.安装 安装DjangoUeditor 1)去GitHub上面下载djangoueditor源码包(https://github.com/twz915/DjangoUeditor3)   然后进入源 ...

  6. 通过 sass-resources-loader 全局注册 Sass/Less 变量

    使用webpack引入sass/less全局变量 sass或者less都提供变量设置,在需求切换主题的项目中使用less或者sass变量,只要修改变量值,编译后所有用到该变量的样式都会被修改为你想要的 ...

  7. c++入门之命名空间存在的意义

    看过鸡啄米的C++编程入门系列教程的朋友,应该能注意到,在其中的很多实例中,都有这么一条语句:using namespace std;,即使用命名空间std,其作用就是规定该文件中使用的标准库函数都是 ...

  8. iptables的增删改查

    iptables是linux系统自带的防火墙,功能强大,学习起来需要一段时间,下面是一些习iptables的时候的记录.如果iptables不熟悉的话可以用apf,是一款基于iptables的防火墙, ...

  9. [2017BUAA软工助教]个人项目小结

    2017BUAA个人项目小结 一.作业链接 http://www.cnblogs.com/jiel/p/7545780.html 二.评分细则 0.注意事项 按时间完成并提交--正常评分 晚交一周以内 ...

  10. JEECG 3.7 Memory Leak

    JEECG 3.7 版本常见问题贴 - JEECG官方网站-企业级JAVA快速开发平台 - Powered by Discuz!http://www.jeecg.org/forum.php?mod=v ...