python-快速使用urllib爬取网页(4-GET)
来源:互联网 发布:nginx configure 编辑:程序博客网 时间:2024/05/21 19:21
客户端–消息传递(HTTP协议)–服务器端
HTTP协议请求分为六种类型:
a、GET请求:GET请求通过URL网址传递信息,可以直接在URL中写上要传递的信息,也可以由表单进行传递,如果使用表单进行传递,表单中的信息会自动转为URL地址中的数据,通过URL地址传递。
b、POST请求:可以向服务器提交数据,比较主流和安全。比如在登录时,经常使用POST请求发送数据。
c、PUT请求:请求服务器存储一个资源,通常要指定存储的位置。
d、DELETE请求:请求服务器删除一个资源。
e、HEAD请求:请求获取对应的HTTP报头信息。
f、OPTIONS请求:可以获得当前URL所支持的请求类型。
除此之外,还有TRACE请求与CONNECT请求,TRACE请求用于测试诊断,这里不在提及。
下面实例讲解GET和POST请求
我们打开百度,查询Hello按下ENTER键,发现网址由
https://www.baidu.com/
变为了
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=Hello&rsv_pq=c699914b00052fcc&rsv_t=c93bxQToACUSgkjcCiKrD06bx7rqBlEcSH0Gf%2BiQ0J2hwZWab9rThB57Wdg&rqlang=cn&rsv_enter=1&rsv_sug3=3&rsv_sug1=2&rsv_sug7=100&rsv_sug2=0&inputT=1867&rsv_sug4=2526
我们看到上面标记的黑体字段,wd=Hello,即wd存储的就是用户检索的关键字
我们简化网址为
http://www.baidu.com/s?wd=Hello
将网址输入地址栏中,我们发现一样能查询出Hello的搜索结果(GET请求,通过网址查询)
根据这个规律,我们可以构造GET请求,实现用爬虫自动的在百度查询关键字:
# coding=utf-8import urllib.requestkeywd = "Hello"url = "Http://www.baidu.com/s?wd=" + keywdreq = urllib.request.Request(url)data = urllib.request.urlopen(req).read()fhandle = open("D:/python3.5/4.html","wb")fhandle.write(data)fhandle.close()
如果我们要查询中文信息,则会出现错误,因为编码问题
之前第二节我们已经学习了编码解码,所以我们要执行以下
# coding=utf-8import urllib.requesturl = "Http://www.baidu.com/s?wd="key = "北京邮电大学"key_code = urllib.request.quote(key)url_all = url + key_codereq = urllib.request.Request(url_all)data = urllib.request.urlopen(req).read()fhandle = open("D:/python3.5/4.html","wb")fhandle.write(data)fhandle.close()
总结如下:GET请求
1、构造URL
2、以对应的URL为参数,构造Request对象
3、通过urlopen()打开构造的对象
4、后续处理
- python-快速使用urllib爬取网页(4-GET)
- python-快速使用urllib爬取网页(1)
- python-快速使用urllib爬取网页(5-POST)
- python-快速使用urllib爬取网页(6-代理服务器)
- python-快速使用urllib爬取网页(7-DebugLog)
- python-快速使用urllib爬取网页(8-URLError)
- python-快速使用urllib爬取网页(小结)
- python-快速使用urllib爬取网页(2-Headers属性)
- python-快速使用urllib爬取网页(3-超时异常)
- 01爬虫---快速使用Urllib爬取网页
- python urllib爬取网页编码问题
- Python爬虫实例(4)-用urllib、re和正则表达式爬取网页图片
- python 使用selenium+urllib爬取淘宝MM照片
- python urllib/urllib2 get/post使用详解
- 使用selenium等待网页加载完成,lxml解析网页,利用urllib爬取图片
- python urllib, urllib2实现登陆和简单爬取网页(个人坑点笔记)
- Python urllib 爬取基金数据
- python用urllib爬取百度
- 如何拿到百度华为等6家名企offer?真题+攻略 | 牛客面经
- 形式语言与自动机_笔记整理(一)
- 二、JSP基本语法
- 2017年最牛的Java编码套路【学习资料含源码】,免费领取就在今天!
- Vim使用
- python-快速使用urllib爬取网页(4-GET)
- 拟牛顿法公式推导以及python代码实现(二)-BFGS家族
- 数据库九:不需要锁和闩的索引(二)
- Rhyme/冥运算(分治策略)Java版
- 编译 qt5.4.2-arm到开发板
- Linux中删除文件,磁盘空间未释放问题追踪
- 计算机发展史
- 正则化方法 (一)
- go语言并发编程