- 爬虫的工作原理
(1) 获取数据
打开网站:爬虫-寻找网站服务器 > 请求 > 服务器-返回网站内容 > 响应 > 爬虫
(2) 爬虫-处理数据
(3) 爬虫-存储数据
- requests获取数据
1)请求 > 服务器 > 2)响应 > res=requests.get('网站地址') > 3)将响应结果存到变量res中
- response对象的常用属性
res.status_code 响应的http状态码
res.text 响应内容的字符串形式
res.content 响应内容的二进制形式
res.encoding 响应内容的编码,常见的编码方式有 ASCII、GBK、UTF-8
res.text 用于文本内容的获取、下载。
res.content 用于图片、音频、视频等二进制内容的获取、下载。
- 常见响应状态码
| 响应状态码 | 含义 | 例子 | 含义 |
|---|---|---|---|
| 1xx | 消息 | 100 | 继续发出请求 |
| 2xx | 请求成功 | 200 | 请求成功 |
| 3xx | 重定向 | 301 | 永久重定向 |
| 4xx | 客户端错误 | 404 | 找不到资源 |
| 5xx | 服务端错误 | 503 | 服务不可用 |
- 文件操作
open()函数,第一个参数为文件名,第二个参数为文件打开模式(r:只读,w:只写,a:追加,b:二进制)。
Tips:在w和a模式下,如果打开的文件不存在,open()函数会自动创建一个。
rb、wb、ab 表示以二进制格式打开文件用于读取、写入、追加。
(1)普通写法
file = open('test.txt', 'w')
file.write('爬虫')
file.close()
&
(2)使用 with ... as ... 写法
with open('test.txt', 'w') as file:
file.write('爬虫')
- 爬虫下载一个小说——孔乙己
import requests
res = requests.get('https://apiv3.shanbay.com/codetime/articles/mnvdu')
with open('孔乙己.txt', 'w') as file:
file.write(res.text)
- 爬虫下载一张图片
import requests
res = requests.get('https://assets.baydn.com/baydn/public/codetime/xiaobei/info.jpg')
with open('info.jpg', 'wb') as file:
file.write(res.content)
- 爬虫解码编码
import requests
res = requests.get('https://www.baidu.com')
res.encoding = 'utf-8'
print(res.text)
本文介绍了爬虫的基本工作原理,包括如何获取网页数据、处理及存储数据。详细解释了使用Python的requests库进行网页抓取的方法,并展示了如何通过HTTP请求获取不同类型的资源,如文本和图片。此外还涉及了文件操作的基础知识。
1606

被折叠的 条评论
为什么被折叠?



