简单的抓取网页
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()解码
本文介绍了使用Python的urllib库进行网页数据抓取的基本方法,包括GET和POST请求方式,以及如何保存抓取的数据为本地文件。同时,文章还讨论了中文字符的处理和服务器端重定向的识别。
&spm=1001.2101.3001.5002&articleId=49005033&d=1&t=3&u=aa07241e2c614ed0b614f5ea8c3612a7)
307

被折叠的 条评论
为什么被折叠?



