抓取网页就是根据URL来获取它的网页信息:安全
# -*- coding:utf-8 -*- import urllib # urllib.request 请求模块 response = urllib.request.urlopen("http://www.baidu.com") print(response.read())
在vscode中按F5执行后结果如图:
post
这样网页就被抓去下来了。~~~~~~~~url
urlopen通常经常使用的有三个参数,它的参数以下:
urllib.requeset.urlopen(url,data,timeout)
response.read()能够获取到网页的内容spa
数据传送分为POST和GET两种方式,两种方式有什么区别呢?code
最重要的区别是GET方式是直接以连接形式访问,连接中包含了全部的参数,固然若是包含了密码的话是一种不安全的选择,不过你能够直观地看到本身提交了什么内容。POST则不会在网址上显示全部的参数,不过若是你想直接查看提交了什么就不太方便了,你们能够酌情选择。blog
POST方式:utf-8
# -*- coding: UTF-8 -*- """ POST 演示 """ import urllib # 设置参数 params = {'word':'hello'} #经过bytes(urllib.parse.urlencode())将post数据进行转换 data = bytes(urllib.parse.urlencode(params), encoding='utf-8') url = 'http://httpbin.org/post' response = urllib.request.urlopen(url, data) print(response.read())
GET方式:get
至于GET方式咱们能够直接把参数写到网址上面,直接构建一个带参数的URL出来便可。import
# -*- coding: UTF-8 -*- """ GET方式演示 """ import urllib values = {} values['wd'] = 'word' data = urllib.parse.urlencode(values) url = 'http://www.baidu.com/s' getUrl = url + '?' + data print(getUrl) response = urllib.request.urlopen(getUrl) print(response.read())