您的位置:首页 > 编程语言 > Python开发

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

2011-09-03 18:49 951 查看
简单的抓取网页:

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()解码:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: