lygyh9985825 发表于 2015-4-28 08:29:07

黄聪: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()解码:
  
页: [1]
查看完整版本: 黄聪:python访问抓取网页常用命令(保存图片到本地、模拟POST、GET、中文编码问题)