博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 爬虫系列(1) --- requests库入门
阅读量:7228 次
发布时间:2019-06-29

本文共 1699 字,大约阅读时间需要 5 分钟。

hot3.png

初识爬虫

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


安装

,安装,并将python加入环境变量中,这里不再叙述,pip安装requests库

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

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


request库的7个基本方法

方法 参数 说明
request method 请求方法<br>url 模拟页面的url链接<br>**kwargs 控制访问的参数,共13个 构造一个请求,是一下方法的基础方法
get url,模拟页面的url连接, params=null,url中的额外参数,字典或字节流格式,可选, **kwargs,12个控制访问的参数 获取HTML网页的主要方法,对应于HTTP的GET
post url, **kwargs 向HTML网页提交POST请求的方法,对应于HTTP的POST
head url, **kwargs 获取HTML网页头信息的方法,对应于HTTP的HEAD
put url, **kwargs 向HTML网页提交PUT请求的方法,对应于HTTP的PUT
patch url, **kwargs 向HTML网页提交局部修改请求,对应于HTTP的PATCH
delete url, **kwargs 向HTML页面提交删除请求,对应于HTTP的DELETE

以上方法都是构造一个request对象发送给服务器,并返回一个response对象


举例

  1. 如果要向一个链接post过去一个json,那么有两种办法
import requestsimport jsonr = requests.post(url,data=json.dumps(var)) #这里的var是字典#或者r = request.post(url,json=var)#这里的var是json字符串
  1. 如果请求页面通过判断User-Agent拒绝python爬虫的访问,那么可以通过修改User-Agent来重新访问
import requestsurl = "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 requestsimport osurl = "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('爬取失败')

转载于:https://my.oschina.net/OSrainn/blog/1527974

你可能感兴趣的文章
Django 分页组件替换自定义分页
查看>>
Pdf Convert Image 的解决方案
查看>>
[笔记]使用clearfix清除浮动
查看>>
数据强转
查看>>
Latest crack software ftp download
查看>>
OpenStack 的防火墙规则流程
查看>>
Overloading Django Form Fields
查看>>
03.MyBatis的核心配置文件SqlMapConfig.xml
查看>>
python学习笔记(9)-python编程风格
查看>>
Apache HTTP Server搭建虚拟主机
查看>>
(译).NET4.X 并行任务中Task.Start()的FAQ
查看>>
git log显示
查看>>
java中相同名字不同返回类型的方法
查看>>
Rails NameError uninitialized constant class solution
查看>>
Android 获取SDCard中某个目录下图片
查看>>
设置cookies第二天0点过期
查看>>
【转载】NIO客户端序列图
查看>>
poj_2709 贪心算法
查看>>
【程序员眼中的统计学(11)】卡方分布的应用
查看>>
文件夹工具类 - FolderUtils
查看>>