这里有新鲜出炉的 Python 教程,程序狗速度看过来!
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
这篇文章主要介绍了 python 访问抓取网页常用命令的相关资料, 需要的朋友可以参考下
python 访问抓取网页常用命令
简单的抓取网页:
- import urllib.request
- url="http://google.cn/"
- response=urllib.request.urlopen(url) #返回文件对象
- page=response.read()
直接将 URL 保存为本地文件:
- import urllib.request
- url="http://google.cn/"
- response=urllib.request.urlopen(url) #返回文件对象
- page=response.read()
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() 解码:
来源: http://www.phperz.com/article/17/0430/333823.html