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

初识爬虫

未来是数据的时代,想要获取数据,那么爬虫无疑是很好的一种手段。不同的编程语言都有不同的爬虫方式,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对象

举例

  1. 如果要向一个链接post过去一个json,那么有两种办法
import requests
import json
r = requests.post(url,data=json.dumps(var)) 
#这里的var是字典
#或者
r = request.post(url,json=var)
#这里的var是json字符串
  1. 如果请求页面通过判断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('爬取失败')
  1. 抓取图片小例子
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入门
    原文地址: https://my.oschina.net/OSrainn/blog/1527974
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞