且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-10 14:29:53


简单的抓取网页:

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方式:

python访问抓取网页常用命令(保存图片到本地、模拟POST、GET、中文编码问题)
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()
python访问抓取网页常用命令(保存图片到本地、模拟POST、GET、中文编码问题)

GET方式:

python访问抓取网页常用命令(保存图片到本地、模拟POST、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()
python访问抓取网页常用命令(保存图片到本地、模拟POST、GET、中文编码问题)

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

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

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




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2011/09/03/2165565.html,如需转载请自行联系原作者