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. go不使用工具包将大写字符转成小写字符的方法

    package main import ( "fmt" ) func main() { str := "hellOWorlD" //返回str is all l ...

  2. 机器学习三剑客之Matplotlib基本操作

    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形  . 通过 Matplotlib,可以仅需要几行代码,便可以生成绘图,线型图, ...

  3. permute

    repmat函数用法 复制和平铺矩阵   函数repmat 格式:  B = repmat(A, m, n) %将矩阵A复制m*n块,即B由m*n块A平铺而成 B = repmat(A, [m n]) ...

  4. Spark性能调优

    Spark性能优化指南——基础篇 https://tech.meituan.com/spark-tuning-basic.html Spark性能优化指南——高级篇 https://tech.meit ...

  5. Spring Boot WebSocket从入门到放弃

    在构建Spring boot项目时已经提供webSocket依赖的勾选.webSocket是TCP之上的一个非常薄的轻量级层 ,webSocket主要的应用场景离不开即时通讯与消息推送,但只要应用程序 ...

  6. 如果IBM再给我一次实习机会

    2014年,我拿到了IBM斯图加特R&D的实习机会.在连续被索尼和博世拒掉之后,这个实习对我来说弥足珍贵.我学的是通信专业,在这之前与编程相关的活动只有一学期的安卓Lab,还是靠抱队友大腿才及 ...

  7. java OOM还在看log日志,兄弟你错的的很严重,正确方式是分析dump文件

    目录 OOM异常--intsmaze 正确姿势dump文件分析--intsmaze 正确的姿势--intsmaze dump丢失打印--intsmaze 哪些内存溢出会产生dump文件--intsma ...

  8. Vs2017_创建项目引用Core2.2报错找不到

    错误: 解决方案: 这个勾一定要画上

  9. VMware(威睿)后端开发笔试题总结

    1.   Linux中查看系统的发行版本信息 的命令? cat/etc/issue    和    lsb_release 2.   linux 挂载一个共享文件夹: mount  -t  cifc ...

  10. H5 20-属性选择器上

    20-属性选择器上 --> 我是段落1 我是段落2 我是段落3 我是段落4 我是段落5 <!DOCTYPE html> <html lang="en"> ...