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. jira8.0.2安装与破解

    环境: centos7.4 java1.8 jira版本:8.0.2 mysql :mariadb 软件下载: 破解包: atlassian-extras-3.2.jar 连接mysql驱动: mys ...

  2. Python:Day27 socketserver、线程

    socketserver模块源码中没找到get_request()的方法,原因???? 服务器端-------------------------------------------------- i ...

  3. 【ES6】let 命令

    let命令 为es6新增命令,用来声明变量,类似于var,但是let所声明的变量,只在let命令所在的块级作用域内有效 块级作用域写法(ES6块级作用域允许任意嵌套): // 块级作用域写法 { le ...

  4. i春秋-百度杯十月场-fuzzing

    1. 打开链接,提示 show me key,抓包,传值key=1,GET请求没有用,而POST请求有返回. 2.将md5值直接拿去解密,得到key=ichunqiu105    OK,进入下一步. ...

  5. 用ASP.NET MVC仿站糗事百科

    废话就不多说,直接来操作,有些细节问题就不一一解说了(没有几天几夜都说不完),主意是想让大家看完知道大概这个框架是怎么搭建的就可以了 一. 新建一个解决方案,搭建三层架构,分别为: DAL层  .DL ...

  6. Spring Boot 之整合 EasyUI 打造 Web 应用

    SpringBootTutorial :: Web :: UI :: EasyUI EasyUI 是一个简单的用户界面组件的集合.由于 EasyUI 已经封装好大部分 UI 基本功能,能帮用户减少大量 ...

  7. 【Python撩妹合集】微信聊天机器人,推送天气早报、睡前故事、精美图片分享

    福利时间,福利时间,福利时间 如果你还在为不知道怎么撩妹而烦恼,不知道怎么勾搭小仙女而困惑,又或者不知道怎么讨女朋友欢心而长吁短叹. 那么不要犹豫徘徊,往下看.接下来我会分享怎么使用 Python 实 ...

  8. jqGrid之treeGrid及行拖拽

    单纯的做个小记录 今天做功能用到了jqGrid里面的treeGrid,遇到几个问题,这里做下记录 treeGrid 树表格的应用在官网给出了很直白的例子: 1.http://blog.mn886.ne ...

  9. 简单的将Excel数据同步到SqlServer数据库中

    1.创建一个WinForm程序,添加一个Button控件 2.Button事件 private void button1_Click(object sender, EventArgs e) { Sys ...

  10. H5 标签选择器

    08-标签选择器 我是段落 我是段落 我是段落 我是段落 我是段落 我是标题 <!DOCTYPE html> <html lang="en"> <he ...