1、爬虫的工作原理

获取数据--解析数据--提取数据--存储数据

2、获取数据

        本质就是通过URL去向服务器发出请求,服务器再把相关内容封装成一个Response对象返回给我们,这是通过requests.get()实现的。而我们获取到的Response对象下有四个常用的方法(status_code、content、text、encoding)。

3、requests.get()

import requests  #引入requests模块

res = requests.get('url')   # 向服务器请求数据,服务器返回的结果是个Response对象

print(type(res)) # 终端显示:<class 'requests.models.Response'>

这代表着res是一个对象,属于requests.models.Response类。

3、response.status_code 

用法:print(变量.status_code),

用来检查请求是否正确响应,如果响应状态码为200,即代表请求成功。

响应状态码表示服务器对请求的响应结果。例如,200代表服务器响应成功,403代表禁止访问,404代表页面未找到,408代表请求超时。浏览器会根据状态码做出相应的处理。在爬虫中,可以根据状态码来判断服务器的状态,如果状态码为200,则继续处理数据,否则直接忽略。

4、response.content 

response.content能把Response对象的内容以二进制数据的形式返回,适用于图片、音频、视频的下载,示例:

import requests#图片地址
URL=''https://img1.baidu.com/it/u=2076064484,1314795796&fm=253&fmt=auto&app=120&f=JPEG?w=531&h=309''
# 发出请求,并把返回的结果放在变量res中
res = requests.get(url)
# 把Reponse对象的内容以二进制数据的形式返回
pic = res.content# 下载一个图片文件并命名为picture.jpg, 图片内容需要以二进制wb只写。
with open(r'C:\Users\Avery\Desktop\test\picture.jpg', 'wb') as f:# 获取pic的二进制内容,写入ff.write(pic)

这样我们图片就下载成功了!

5、response.text 

response.text这个方法可以把Response对象的内容以字符串的形式返回,适用于文字、网页源代码的下载。示例如下:

import requests# 文章地址
url = 'https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md'
# 发出请求,并把返回的结果放在变量res中
res = requests.get(url)
# 把Response对象的内容以字符串的形式返回
novel = res.text
#打印变量
print(novel[0:170])

6、response.encoding 

response.encoding方法,它能帮我们定义Response对象的编码,示例如下:

import requests# 文章地址
url = 'https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md'
# 发出请求,并把返回的结果放在变量res中
res = requests.get(url)
# 定义response对应的编码为utf-8
res.encoding = 'utf-8'
# 把Response对象的内容以字符串的形式返回
novel = res.text
# 打印变量
print(novel[0:170])

1. 获取数据-requests.get()相关推荐

  1. Python通过http、url获取数据

    import requests #通过url获取数据 def get_page(url):#requests.get 自带 json.loadpage = requests.get(url)page ...

  2. 使用进程池模拟多进程爬取url获取数据,使用进程绑定的回调函数去处理数据...

    1 # 使用requests请求网页,爬取网页的内容 2 3 # 模拟使用进程池模拟多进程爬取网页获取数据,使用进程绑定的回调函数去处理数据 4 5 import requests 6 from mu ...

  3. 网络爬虫--24.【selenium实战】实现拉勾网爬虫之--分析接口获取数据

    文章目录 一. 思路概述 二. 分析数据接口 三. 详细代码 一. 思路概述 1.拉勾网采用Ajax技术,加载网页时会向后端发送Ajax异步请求,因此首先找到数据接口: 2.后端会返回json的数据, ...

  4. python flask restful api_python之restful api(flask)获取数据

    需要用到谷歌浏览器的扩展程序 Advanced Rest Client进行模拟请求 1.直接上代码 from flask import Flask from flask import request ...

  5. 7. 从数据库获取数据- 从零开始学Laravel

    从零开始学Laravel教程目录 路由,控制器,视图我们都学了一点了,从这里开始,我们先看下如何用migration创建数据表,然后通过查询构建器(query builder)和Elequent去获取 ...

  6. 如何利用python调用API接口获取数据进行测试

    一.Python 可以使用 requests 库来调用 API 接口获取数据.以下是基本的步骤: 1.安装 requests 库 pip install requests 2.导入 requests ...

  7. Python数据分析之获取数据

    一.获取数据采用数据仓库,将所有业务数据经汇总处理,构成数据仓库(DW).数据仓库包括全部事实的记录.部分维度与数据的整理(数据集市-DM)数据库与仓库的对比1.数据库面向业务存储,仓库面向主题存储. ...

  8. 验证码获取及解加密(模拟人进入网页获取数据)

    一.模拟人的登录查看网页获取数据 1.豆瓣登录 网址:http://www.douban.com 使用的技术: selenium+Chrome 浏览器完成自动登录 使用ActionChains控制鼠标 ...

  9. python获取网页数据后写入mysql_HTTP协议与使用Python获取数据并写入MySQL

    一.Http协议 二.Https协议 三.使用Python获取数据 (1)urlib (2)GET请求 (3)POST请求 四.爬取豆瓣电影实战 1.思路 (1)在浏览器中输入https://movi ...

最新文章

  1. socket 读取 所有 数据 java_Java Socket 读取服务器端返回数据
  2. SQL Server调优系列进阶篇(如何维护数据库索引)
  3. 深度学习实战_五天入门深度学习,这里有一份PyTorch实战课程
  4. Java为什么需要保留基本数据类型
  5. SQL语言之数据控制语言(Oracle)
  6. ASP NET 数据库访问
  7. 不容错过的8个持续集成工具
  8. 30天自制操作系统 pdf_30天自制操作系统:第四天:系统界面绘制
  9. 如何检索Python函数的源代码
  10. 解析几何的解读(二)
  11. 回归(regression)——统计学习方法
  12. win11很卡怎么办 windows11很卡的解决方法
  13. 并发编程——详解 AQS CLH 锁
  14. server 2008 php环境搭建,windows server 2008R2 x64位服务器上搭建PHP环境
  15. 智能车仿真 —— 室外光电创意组(racecar车模仿真,阿克曼车辆模型)
  16. 计算机论文如何加字数,发表论文的字数是如何计算的?
  17. 驱动开发:Win10枚举完整SSDT地址表
  18. Java Web图书管理系统(MVC框架)-包含源码
  19. VR+文旅景区结合VR主题乐园VR设备厂家
  20. 猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了1个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天想再吃时,就只剩一个

热门文章

  1. Python爬虫requests模块在线生成请求头
  2. java程序实现给图片添加logo
  3. PG系列数据库TPCH测试文档
  4. Arduino控制TB6600驱动器+42步进电机
  5. 习题8-2 在数组中查找指定元素 (15 分)(python)
  6. 2021年安全员-B证免费试题及安全员-B证证考试
  7. 抓住智能产业的“确定性”!“中国AIoT产业年会暨2023智能产业洞察大典”圆满落幕!...
  8. 《白话大数据与机器学习》读书笔记3
  9. 解答篇:金蝶K3WISE-付款单:被关联的订单******的付款关联金额超过最大可钩稽数值
  10. sql临时表的创建及赋值