美文网首页
2020-04-16 python学习--爬虫初识

2020-04-16 python学习--爬虫初识

作者: javen_spring | 来源:发表于2020-04-16 19:19 被阅读0次

学习完python语法课后感觉没有被完全打倒,今天有幸再次深入学习。python令我神往的原因有二:爬虫和数据分析。现在慢慢地开始和爬虫来一次亲密接触。

爬虫四步曲

爬虫四步曲.png
第一步:获取数据

1.需要requests模块来获取数据。windows安装:Win+R打开命令提示符(cmd),输入pip install requests即可。
requests库可以与服务器通过请求及响应帮我们下载网页源代码、文本、图片及音频。
2.导入requests库,调用get()方法

import requests
res=requests.get(url)  ###url即获取数据的网址

3.type下res的属性可知,res属于Response类对象。


res属性.png

4.认识Response对象的四个属性:


Response对象的四个属性.png
  • 利用res实例对象来查看response类对象的status_code属性:
status_code属性.png

status_code属性显示为200。200是res的服务器响应码,了解下其他的响应码:(嗯,现在才晓得平常上网的404的含义了。。。)

服务器响应码.png
  • 利用res实例对象来查看response类对象的content属性(获取的响应对象的二进制数据),content属性可把Response对象的内容以二进制数据的形式返回,适用于图片、音频、视频的下载:
import requests

# 发出请求,并把返回的结果放在变量res中
res = requests.get('https://res.pandateacher.com/2018-12-18-10-43-07.png')
# 把Reponse对象的内容以二进制数据的形式返回
pic = res.content
# 新建了一个文件ppt.jpg,这里的文件没加路径,它会被保存在程序运行的当前目录下。
# 图片内容需要以二进制wb读写。你在学习open()函数时接触过它。
photo = open('ppt.jpg','wb')
# 获取pic的二进制内容,本地已保存图片
photo.write(pic) 
# 关闭文件
photo.close()
  • 利用res实例对象来查看response类对象的text属性(获取的响应对象的字符串数据),显示Response对象的内容以字符串的形式返回,适用于文字、网页源代码的下载:
import requests

# 下载《三国演义》第一回,我们得到一个对象,它被命名为res
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md')
# 把Response对象的内容以字符串的形式返回
novel=res.text
# 现在,可以打印小说了,但考虑到整章太长,只输出800字看看就好。在关于列表的知识那里,你学过[:800]的用法。
print(novel[:800])
  • Response的response.encoding属性,它能帮我们定义Response对象的编码类型(当文件出现编码时可以重新定义):
import requests
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md')   #数据默认编码为utf-8
# 定义Reponse对象的编码为utf-8。
res.encoding='utf-8'   ##若为其他编码如'gbk'则会出现乱码
  • 总之,获取数据,本质就是通过URL去向服务器发出请求,服务器再把相关内容封装成一个Response对象返回给我们,这是通过requests.get()实现的,而我们获取到的Response对象下有四个常用的属性。

嗯,好了,今天就先到这里吧,明天继续......

相关文章

网友评论

      本文标题:2020-04-16 python学习--爬虫初识

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