zoukankan      html  css  js  c++  java
  • python访问web的利器:urllib2

    使用Python访问网页主要有三种方式: urllib, urllib2, httplib
    urllib比较简单,功能相对也比较弱,httplib简单强大,但好像不支持session
    1. 最简单的页面访问
    res=urllib2.urlopen(url)
    print res.read()
    2. 加上要get或post的数据
    data={"name":"hank", "passwd":"hjz"}
    urllib2.urlopen(url, urllib.urlencode(data))
    3. 加上http头
    header={"User-Agent": "Mozilla-Firefox5.0"}
    urllib2.urlopen(url, urllib.urlencode(data), header)

    使用opener和handler
    opener = urllib2.build_opener(handler)
    urllib2.install_opener(opener)
    4. 加上session
    cj = cookielib.CookieJar()
    cjhandler=urllib2.HTTPCookieProcessor(cj)
    opener = urllib2.build_opener(cjhandler)
    urllib2.install_opener(opener)
    5. 加上Basic认证
    password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
    top_level_url = "http://www.163.com/"
    password_mgr.add_password(None, top_level_url, username, password)
    handler = urllib2.HTTPBasicAuthHandler(password_mgr)
    opener = urllib2.build_opener(handler)
    urllib2.install_opener(opener)
    6. 使用代理
    proxy_support = urllib2.ProxyHandler({"http":"http://1.2.3.4:3128/"})
    opener = urllib2.build_opener(proxy_support)
    urllib2.install_opener(opener)
    7. 设置超时
    socket.setdefaulttimeout(5)

    参考:http://svn.python.org/projects/python/trunk/Doc/howto/urllib2.rst

  • 相关阅读:
    java 菜单
    QT 让信号自由飞翔(骚操作)
    QT editLine 无法输入的问题
    易经初学体会
    Cgroup
    springboot pom 引用集合
    使用ab测试工具 进行并发测试
    intellij 设置-试验过的
    【iis错误码】IIS 服务 这些年遇到的错误码
    101个创业失败案例背后的20大原因
  • 原文地址:https://www.cnblogs.com/mmix2009/p/3226795.html
Copyright © 2011-2022 走看看