【爬虫一】python爬虫基础合集一
- 1. 网络请求了解
- 1.1. 请求的类型
- 1.2. 网络请求协议
- 1.3. 网络请求过程简单图解
- 1.4. 网络请求Headers(其中的关键字释义):请求头、响应头
- 2. 网络爬虫的基本工作节点
- 2.1. 了解简单网络请求获取响应数据的过程所涉及要点
1. 网络请求了解
1.1. 请求的类型
1. get
2. post
3. put
4. delete
5. head
1.2. 网络请求协议
http:超文本传输协议
https:安全超文本传输协议
网络协议之基础
1.3. 网络请求过程简单图解
1.4. 网络请求Headers(其中的关键字释义):请求头、响应头
Accept:文本的格式
Accept-Encoding:编码格式
Connection:长连接、短连接
Cookie:验证用的
Host:域名
Referer:来源
User-Agent:浏览器和用户信息
请求头、响应头、请求方式
2. 网络爬虫的基本工作节点
1. 确认你需要爬取的URL2. 使用python代码发送请求获取数据3. 解析获取到的数据(精确数据)(1)找到新的目标回到第一步、二步、三步(自动化)4. 数据持久化上面4步所涉及模块及知识点:python3:urlib.request、request(第三方)、数据解析:xpath bs4 数据存储
2.1. 了解简单网络请求获取响应数据的过程所涉及要点
import urllib.request
import urllib.parse
import string# 关键点1:python不支持中文,需要进行转义,涉及:urllib.parse.quote、string
# python:是解释性语言;解析器只支持 ascii 0- 127 不支持中文
url = 'http://www.baidu.com/s?wd='
name = '美女'
final_url = url + name
# 转义后的url:
url_end = urllib.parse.quote(final_url, safe=string.printable)
res = urllib.request.urlopen(url_end)
# 关键点2:获得请求的响应response,是一个对象;需要read()后,编码decode("utf-8");
# 关键点3:写入文件with open() as f, 连接上下文
with open('test2.html', 'w', encoding='utf-8') as f:f.write(res.read().decode('utf-8'))