您的位置:首页 > 编程语言 > Python开发

python 爬虫系列(1) --- requests库入门

2017-09-02 00:00 465 查看

初识爬虫

未来是数据的时代,想要获取数据,那么爬虫无疑是很好的一种手段。不同的编程语言都有不同的爬虫方式,python无疑是其中一种有着比较完善方案的选择,所以我选择以python作为我爬虫的起点。

安装

python官网下载3.5版本,安装,并将python加入环境变量中,这里不再叙述,pip安装requests库

import requests
re = requests.get('https://www.baidu.com')
print(re.status_code)
print(re.encoding)
re.encoding = 'utf-8'
print(re.text)

简单上面几行代码,就实现了python对网页的抓取,接下来详细分析一下requests库的使用。

request库的7个基本方法

方法参数说明
requestmethod 请求方法<br>url 模拟页面的url链接<br>**kwargs 控制访问的参数,共13个构造一个请求,是一下方法的基础方法
geturl,模拟页面的url连接, params=null,url中的额外参数,字典或字节流格式,可选, **kwargs,12个控制访问的参数获取HTML网页的主要方法,对应于HTTP的GET
posturl, **kwargs向HTML网页提交POST请求的方法,对应于HTTP的POST
headurl, **kwargs获取HTML网页头信息的方法,对应于HTTP的HEAD
puturl, **kwargs向HTML网页提交PUT请求的方法,对应于HTTP的PUT
patchurl, **kwargs向HTML网页提交局部修改请求,对应于HTTP的PATCH
deleteurl, **kwargs向HTML页面提交删除请求,对应于HTTP的DELETE
以上方法都是构造一个request对象发送给服务器,并返回一个response对象

举例

如果要向一个链接post过去一个json,那么有两种办法

import requests
import json
r = requests.post(url,data=json.dumps(var))
#这里的var是字典
#或者
r = request.post(url,json=var)
#这里的var是json字符串


如果请求页面通过判断User-Agent拒绝python爬虫的访问,那么可以通过修改User-Agent来重新访问

import requests
url = "http://xxxx";
ug = {'user-agent': 'mozilla/5.0'}
try :
r.request(url, header=ug)
r.raise_for_status()
r.encoding = r.apprent_encoding
print(t.text[1000:2000])
except:
print('爬取失败')


抓取图片小例子

import requests
import os
url = "http://pic.58pic.com/58pic/15/41/51/78v58PICkWh_1024.jpg"
root = "/Users/heihei/Desktop/py_pic/"
path = root + url.split('/')[-1]
try :
if not os.path.exists(root) :
os.mkdir(root)
if not os.path.exists(path) :
r = requests.get(url)
with open(path, 'wb') as f :
f.write(r.content)
f.close()
print('文件保存成功')
else :
print('文件已存在')
except :
print('爬取失败')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 爬虫