初识爬虫(0)

作者: 菁_在路上 | 来源:发表于2019-12-27 11:03 被阅读0次
untitled.png

爬虫的这些文章就算是我的复习吧!今天开始!!

什么是爬虫?

老师说,本质上就是利用程序在网上获得对我们有价值的数据。

我个人理解:
1、“虫”
爬虫就是这些能够让我们获得数据的一类小程序,就是个工具。希望能够掌握好,做一个遵守互联网伦理道德的虫虫。
2、“网”
对互联网,html要有认识,才能掌握好工具。

浏览器的工作原理(5步):
在浏览器输入网址(也可以叫URL)---- 浏览器向服务器传达了我们想访问某个网页的需求(请求)---- 服务器把想要的网站数据发送给浏览器(响应)---- 浏览器会把这些用计算机语言写的数据翻译成你能看得懂的样子(解析数据)---- 我们在拿到的数据中挑选出对我们有用的数据(提取数据)---- 我们(存储数据)。

爬虫可以干什么?

上述人机互动的过程中,爬虫可以帮助我们完成绝大部分工作

1、爬虫可以模拟浏览器去向服务器发出请求
2、服务器响应后,爬虫程序还可以代替浏览器帮我们解析数据;
3、爬虫可以根据我们设定的规则自动批量提取相关数据;
4、爬虫可以批量地把数据存储到本地。

所以,人除了起心动念,有逻辑地设计好规则后,剩下的爬虫都能替我们干了。想想都舒服!

知识点1:requests库

用途:
获取数据
requests库可以帮我们下载网页源代码、文本、图片,甚至是音频(“下载”本质上是向服务器发送请求并得到响应)。

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

知识点2:Response对象的常用属性

因为Python是一门面向对象编程的语言。在爬虫中,理解数据是什么对象非常、特别、以及极其重要。只有知道了数据是什么对象,才知道对象有什么属性和方法可供我们操作。

判断数据的对象类型方法是:
import requests
res = requests.get('https://res.pandateacher.com/2018-12-18-10-43-07.png')
print(type(res)) #打印变量res的数据类型
其结果是:<class 'requests.models.Response'>。这代表着:res是一个对象,属于requests.models.Response类。res是一个Response对象,我们也就可以去了解它的相应属性和方法了。

Response对象的常用属性

1、response.status_code
作用:
检查请求是否成功
举例:
import requests
res = requests.get('https://res.pandateacher.com/2018-12-18-10-43-07.png')
print(res.status_code) #打印变量res的响应状态码,以检查请求是否成功

1.png

2、response.content
作用:
能把Response对象的内容以二进制数据的形式返回,适用于图片、音频、视频的下载
举例:下载一张图片
import requests # 引入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读写。在python基础中open()函数里接触过。
photo.write(pic) # 获取pic的二进制内容
photo.close() # 关闭文件

3、response.text
作用:
可以把Response对象的内容以字符串的形式返回,适用于文字、网页源代码的下载。
举例:下载小说
import requests #引用requests库
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md') #下载《三国演义》第一回,我们得到一个对象,它被命名为res
novel=res.text #把Response对象的内容以字符串的形式返回
print(novel[:800]) #打印小说(考虑到整章太长,只输出800字)

4、response.encoding
作用:
能帮我们定义Response对象的编码
举例:
import requests #引用requests库
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md') #下载《三国演义》第一回,我们得到一个对象,它被命名为res
res.encoding='gbk' #定义Response对象的编码为gbk
novel=res.text #把Response对象的内容以字符串的形式返回
print(novel[:800]) #打印小说的前800个字
其打印出来的结果是乱码。因为原题目当中设置的编码规则默认为utf-8,如果硬要以gbk形式定义它,就会出现最终的乱码结果。
使用条件:
只有当结果显示为乱码时,才返回来试验以其他编码方式定义并确认结果。

Robots协议

是互联网爬虫的一项公认的道德规范,它的全称是“网络爬虫排除标准”(Robots exclusion protocol),这个协议用来告诉爬虫,哪些页面是可以抓取的,哪些不可以。

协议使用方法
查看网站的robots协议,在网站的域名后加上/robots.txt就可以了。
协议里最常出现的英文是Allow和Disallow,Allow代表可以被访问,Disallow代表禁止被访问。

好吧!出发,冲浪去(胆子够大,给自己点赞)!

相关文章

  • 初识爬虫(0)

    爬虫的这些文章就算是我的复习吧!今天开始!! 什么是爬虫? 老师说,本质上就是利用程序在网上获得对我们有价值的数据...

  • python爬虫0:初识爬虫

    初识爬虫 爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。举例:熟悉的搜索引擎——百度和谷歌,它们的...

  • 网络爬虫1-python学习32

    初识爬虫-爬虫的工作原理 什么是爬虫呢? 爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。 爬虫能做...

  • python-爬虫

    初识爬虫 网页基础 BeautifuleSoup 解析数据 提取数据 Tag 对象 CSS选择器 爬虫进阶

  • 初识爬虫

    爬虫根据使用场景分为通用爬虫和聚焦爬虫两种形式。 通用爬虫的主要目的是将互联网上的网页下载到本地,然后放到本地服务...

  • 初识爬虫

    什么是爬虫? -网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一...

  • 初识爬虫

    一.用用架构 互联网的飞速发展是商业经济推动的。目前几乎所有的商业应用都是基于互联网的,它们一般采用c/s架构,b...

  • 爬虫练习-boss直聘数据相关岗位分析(一)

    初识爬虫 工作期间,初识爬虫,结合自己工作需要遂萌生了一个有趣的想法----通过爬取招聘网站某些岗位的信息,来了解...

  • 【爬虫系列】- 初识爬虫

    几年前由于互联网和大数据的火热,于是之前一直隐藏于黑暗中的爬虫也跟着走近了大众的视野……爬虫在互联网上无处不在,国...

  • 【爬虫教程】吐血整理,最详细的爬虫入门教程~

    初识爬虫 学习爬虫之前,我们首先得了解什么是爬虫。来自于百度百科的解释: 网络爬虫(又称为网页蜘蛛,网络机器人,在...

网友评论

    本文标题:初识爬虫(0)

    本文链接:https://www.haomeiwen.com/subject/yxproctx.html