1、简介
如果要进行客户端和服务端之间的消息传递,需要HTTP协议请求,HTTP协议请求主要分为6种类型:GET请求、POST请求、PUT请求、DELETE请求、HEAD请求,OPTIONS请求。
2、应用
GET请求实例:
思路:
1、构建对应的URL地址,该URL地址包含该GET请求的字段名和字段请求等信息,并且URL地址满足GET请求的格式,即“http://网址?字段名1=字段内容1&字段名2=字段内容2”
2、以对应的URL为参数,构建Request对象
3、通过urlopen()打开构建的Request对象
4、爬取内容的处理
# *-*coding:utf-8*-*
from urllib import request
url = "http://www.baidu.com/s?wd="
keyword = "娃哈哈"
keyword_code = request.quote(keyword)
new_url = url+keyword_code
req = request.Request(new_url)
data = request.urlopen(req).read()
doc = open("E:/test/2.html","wb")
doc.write(data)
doc.close()
POST请求实例:
思路:
1、设置好url地址
2、构建表单数据,并使用urllib.parse.urlencode对数据进行编码处理
3、创建Request对象,参数包含url和表单数据
4、使用add_header()添加头信息。模拟浏览器进行爬取
5、使用urlopen()打开对应的Request对象,完成信息的传递
6、对爬取的数据进行处理
# *-*coding:utf-8*-*
from urllib import request
from urllib import parse
url = "http://www.qq.com"
postdata = parse.urlencode({"name":"1234","pwd":"5678"}).encode('utf-8')
req = request.Request(url,postdata)
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0")
data = request.urlopen(req).read()