python 爬虫

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)

你可能感兴趣的:(python 爬虫)