zoukankan      html  css  js  c++  java
  • 黄聪:python访问抓取网页常用命令(保存图片到本地、模拟POST、GET、中文编码问题)

    简单的抓取网页:

    import urllib.request   
    url
    ="http://google.cn/"
    response
    =urllib.request.urlopen(url) #返回文件对象
    page=response.read()

    直接将URL保存为本地文件:

    import urllib.request  
    url
    ="http://www.xxxx.com/1.jpg"
    urllib.request.urlretrieve(url,r
    "d:\temp\1.jpg")

    POST方式:

    import urllib.parse  
    import urllib.request

    url
    ="http://liuxin-blog.appspot.com/messageboard/add"

    values
    ={"content":"命令行发出网页请求测试"}
    data
    =urllib.parse.urlencode(values)

    #创建请求对象
    req=urllib.request.Request(url,data)
    #获得服务器返回的数据
    response=urllib.request.urlopen(req)
    #处理数据
    page=response.read()

    GET方式:

    import urllib.parse  
    import urllib.request

    url
    ="http://www.google.cn/webhp"

    values
    ={"rls":"ig"}
    data
    =urllib.parse.urlencode(values)

    theurl
    =url+"?"+data
    #创建请求对象
    req=urllib.request.Request(theurl)
    #获得服务器返回的数据
    response=urllib.request.urlopen(req)
    #处理数据
    page=response.read()

    有2个常用的方法,geturl(),info()

    geturl()的设置是为了辨别是否有服务器端的网址重定向,而info()则包含了一系列的信息。

    中文问题的处理,会用到 encode()编码 dencode()解码:


  • 相关阅读:
    hdu2438 三分
    hdu3786 找出直系亲属 水题
    hdu3786 找出直系亲属 水题
    hdu4561 连续最大积
    hdu4561 连续最大积
    hdu4604 不错的子序列问题
    hdu4604 不错的子序列问题
    hdu4450 不错的贪心
    hdu1722 切蛋糕
    hdu3768 spfa+全排列
  • 原文地址:https://www.cnblogs.com/huangcong/p/2165565.html
Copyright © 2011-2022 走看看