今天我们的目标是要学会如何爬
目录
Python网络库
在实际浏览网页的时候,我们一般是通过鼠标来点击网页,由浏览器帮助我们发起请求,那在Python 爬虫中是如何发起请求的呢?Python有强大的库来作为支撑,给大家介绍一下,这些库:
Python2: httplib、httplib2、urllib、urllib2、urllib3、requests
Python3: httplib2、urllib、urllib3、requests
httplib/2是Python内置的http库,是偏于底层的库;httplib2是基于httplib的第三方库,支持缓存、压缩等。这两个库一般都是用不到,除非你需要自己封装网络请求。urlliib是基于httplib的上层库,而urllib2和urllib3都是第三方库,urllib2相对于urllib增加一些高级功能,如:HTTP身份验证、Cookie等,在Python3中将urllib2合并到了urllib中。urllib3提供线程安全连接池和文件post等支持,与urllib及urllib2的关系不大。
什么是requests模块
首先跟大家说一下,学习任何一门语言,一定记得看官方文档,可能官方文档不是最好的入门学习教程,但它绝对是最新最全的教学文档哦!
requests是python自带的一款基于网络请求的模块,功能强大,效率极高!
首页
requests的官方文档(支持中文):http://cn.python-requests.org
源代码:https://github.com/kennethreitz/requests
功能
之前我们说过requests功能强大,两个字“牛逼”,那我们来看看到底有多牛
-
Keep-Alive & 连接池
-
国际化域名和 URL
-
带持久 Cookie 的会话
-
浏览器式的 SSL 认证
-
自动内容解码
-
基本/摘要式的身份认证
-
优雅的 key/value Cookie
-
自动解压
-
Unicode 响应体
-
HTTP(S) 代理支持
-
文件分块上传
-
流下载
-
连接超时
-
分块请求
-
支持 .netrc
如何安装和使用requests模块
pip安装
pip install requests
使用anaconda安装
pip install requests
pycharm安装requests
如果你使用的是pycharm,不想用命令行安装,可以按下面方法操作,在file——>settings里面进行安装
实战,学以致用,开始爬
requests使用
在实际操作上不要慌,一定要稳住,别想着这不会那不会,报错了怎么办等等,按照requests的使用步骤一步一步来
-
指定目标url
-
发起目标资源请求
-
获取响应数据
-
数据持久化存储
实战
爬取百度首页保存到本地
我们一起来分析一下
1. 功能分析
爬取百度首页,以html的格式保存在当前文件夹下
2. 实现步骤
1. 指定目标url
2. 发起目标资源请求
3. 获取响应的数据
4. 数据持久化存储
3. 代码实现
# 导入模块
import requests
# 1.指定目标url
url = 'http://www.baidu.com/'
# 2.发起目标资源请求(get方法返回是一个响应对象)
response = requests.get(url=url)
# 3.获取响应的数据
page_text = response.text
# 4.数据持久化存储(我们使用with方法,新建一个baidu.html的文件来进行存储,with的使用在之后的python入门系列会进行讲解)
with open('./baidu.html','w',encoding='utf-8') as fp:
fp.write(page_text)
print('报告数据获取成功')
4. 效果图
至此,一个简单的爬虫就完成了,是不是很简单呢?
**还是那一句:**
**希望大家可以去发现我的错误、提出自己想法,互相帮助,共同进步**
千山万水总是情,一键三连走起来!