python如何访问网络 用urllib包
url 由三部分组成
第一部分:协议,http,https,ftp,file,ed2k and so on
第二部分:存放资源的服务器的IP地址或者域名,有时候会包含端口号,比如http的默认端口号为80
第三部分:资源的具体地址,如目录或文件名称等
第一部分://第二部分/第三部分
首先需要导入urllib包,然后使用URLopen方法获取网页
import urllib.request
response = urllib.request.urlopen('http://www.baidu.com/') #获取了对象
html = response.read() #读取数据
print(html) #这里需要注意解码问题,这是二进制码,所以需要下一步的解码
html = html.decode('utf-8')
print(html)
换一个网站,python卡死了
上面的urlopen参数可以传入一个request请求,它其实就是一个Request类的实例,构造时需要传入Url,Data等等的内容。
import urllib.request
req = urllib.request.Request('http://www.baidu.com/')
response = urllib.request.urlopen(req)
html = response.read()
cookie 这玩意儿2跟3版本不太一样啊
import urllib
import http.cookiejar
#声明一个CookieJar对象实例来保存cookie
cookie = http.cookiejar.CookieJar()
#利用urllib的HTTPCookieProcessor对象来创建cookie处理器
cookie=urllib.request.HTTPCookieProcessor(cookie)
#通过cookie来构建opener
opener = urllib.request.build_opener(handler) #可以下方同时加入代理
#此处的open方法同urllib2的urlopen方法,也可以传入request
response = opener.open('http://www.baidu.com')
for item in cookie:
print ('Name = '+item.name)
print ('Value = '+item.value)