python爬虫学习笔记(一)

爬虫的工作步骤:

  1. 获取数据。根据网址,向服务器发起请求,获取服务器返回数据。
  2. 解析数据。把服务器返回的数据解析成我们能读懂的格式。
  3. 提取数据。从数据中提取我们需要的数据。
  4. 储存数据。把有用的数据保存起来,便于以后使用和分析。

初识Requests库

爬虫获取数据,使用requests库。需要先安装requests库。
pip install requests
requests库可以帮我们下载网页源代码、文本、图片,音频视频等。其实,“下载”本质上是向服务器发送请求并得到响应。
发送url请求:requests.get()

import requests  #引入requests库
res = requests.get('URL')  
#requests.get是在调用requests库中的get()方法,它向服务器发送了一个请求,括号里的参数是你需要的数据所在的网址,然后服务器对请求作出了响应。
#我们把这个响应返回的结果赋值在变量res上。

通过print(type(res))可以得知,requests.get()方法返回的是一个requests.models.Response类的对象,下面我们看下这个对象常用的属性。

  1. response.status_code 获取返回码。
  2. response.content 获取Response对象的内容的二进制数据的形式。
import requests
res = requests.get('https://res.pandateacher.com/2018-12-18-10-43-07.png')
#发出请求一张图片,并把返回的结果放在变量res中
pic=res.content
#把Reponse对象的内容以二进制数据的形式返回
photo = open('ppt.jpg','wb')
#新建了一个文件ppt.jpg。
#图片内容需要以二进制wb读写。
photo.write(pic) 
#写入pic的二进制内容
photo.close()
#关闭文件
  1. response.text 获取Response对象的内容以字符串的形式返回,适用于文字,网页源代码的下载。
  2. response.encoding 定义Response对象的编码。如果发现获取的内容有乱码,就要考虑编码问题了,通过该属性可以指定Response的编码。

爬虫伦理

Robots协议是互联网爬虫的一项公认的道德规范,它的全称是“网络爬虫排除标准”(Robots exclusion protocol),这个协议用来告诉爬虫,哪些页面是可以抓取的,哪些不可以。如何查看网站的robots协议呢,很简单,在网站的域名后加上/robots.txt就可以了。例如: https://time.geekbang.org/robots.txt 打开这个网址就会显示极客时间这个网站对于爬虫的协议。
爬虫就像是核技术,人们可以利用它去做有用的事,也能利用它去搞破坏。恶意消耗别人的服务器资源,是一件不道德的事,恶意爬取一些不被允许的数据,还可能会引起严重的法律后果。当你在爬取网站数据的时候,别忘了先看看网站的Robots协议是否允许你去爬取。同时,限制好爬虫的速度,对提供数据的服务器心存感谢,避免给它造成太大压力,维持良好的互联网秩序,也是我们该做的事。

你可能感兴趣的:(Python爬虫学习笔记)