码迷,mamicode.com
首页 > Web开发 > 详细

请求网页几个常用库的用法:

时间:2017-08-20 20:06:39      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:方式   状态   agent   ons   说明   信息   5.0   完全   gen   

1、urllib
urlopen()方法
urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。
参数url表示远程数据的路径,一般是网址;
参数data表示以post方式提交到url的数据;
参数proxies用于设置代理。
urlopen返回 一个类文件对象,它提供了如下方法:
read() , readline() , readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样;
info():返回一个httplib.HTTPMessage 对象,表示远程服务器返回的头信息
getcode():返回Http状态码。如果是http请求,200表示请求成功完成;404表示网址未找到
urlretrieve()方法
直接将远程数据下载到本地。
urllib.urlretrieve(url[, filename[, reporthook[, data]]])
参数说明:
url:外部或者本地url
filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);
reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。
data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。 

 

2、urllib2

urlopen()

用URL=‘’直接打开无需模拟浏览器访问的页面

不能直接访问的页面,模拟浏览器访问:

request=urllib2.Request(url,headers)定制含有headers的URL请求

r=urllib2.urlopen(request)

print(r.read())

eg:

url = "http://www.qiushibaike.com/"

# 头部信息,有些网站需加headers才能访问
headers = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0‘}
request = urllib2.Request(url = url,headers = headers )
# 发送请求、接收信息
response = urllib2.urlopen(request )
urllib 、urllib 2在2.x环境下能正常引入,在3.x环境下会报 module ‘urllib‘ has no attribute ‘urlopen‘错误
3、requests----------------第三方库,需要下载

requests.get(‘https://www.douban.com/‘)

用URL=‘’直接打开无需模拟浏览器访问的页面

不能直接访问的页面,模拟浏览器访问:

r =requests.get(url,headers=headers)

print(r.content)

 

请求网页几个常用库的用法:

标签:方式   状态   agent   ons   说明   信息   5.0   完全   gen   

原文地址:http://www.cnblogs.com/chandb/p/7400793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!