爬虫 基础
Posted muxueblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫 基础相关的知识,希望对你有一定的参考价值。
一、爬虫在使用场景中的分类
1.通用爬虫
抓取系统重要组成部分。抓取的是一整张页面数据
2.聚焦爬虫
是建立建立在通用爬虫的基础之上。抓取的是页面中特定的局部内容
3.增量式爬虫
检测网站中数据更新的情况。只会抓取最新更新出来的数据
二、http协议
1.常用请求头信息
User-Agent:请求载体的身份标识
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/81.0.4044.138 Safari/537.36
Connection:请求完毕后,是断开链接还是保持链接
Connection: keep-alive
2.常用响应头信息
Connect-Type:服务器响应客户端的数据类型
三、https协议
"安全的http协议"
用的证书加密
四、requests模块
1.基础
- 一、指定URL
- 二、发起请求
- 三、获取响应数据
- 四、持久化存储
安装环境
pip install requests
实战:
import requests
if __name__ == ‘__main__‘:
# 1.指定URL
url = ‘https://sogou.com/‘
# 2.发起请求
# get方法会返回一个响应对象
response = requests.get(url=url)
# 3.获取响应数据
page_text = response.text # text返回的是字符串形式的响应数据
print(page_text)
# 4.持久化存储
with open(‘./sogou.html‘,‘w‘,encoding=‘utf-8‘) as f:
f.write(page_text)
print(‘爬取数据结束!!!‘)
2.网页采集器
import requests
# UA检测:
# UA = User-Agent()
# UA伪装:伪装成某一款浏览器
if __name__ == ‘__main__‘:
# UA伪装 封装到一个字典里
headers = {
‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36‘
}
url = ‘https://www.sogou.com/web?‘
# 处理url携带的参数,封装到字典里
res = input(‘输入要获取的:‘)
param = {
‘query‘:res # 解决参数
}
# 发起请求
response = requests.get(url=url,params=param,headers=headers) # params为参数信息
# 获取响应数据
page_text = response.text
fileName = res+‘.html‘
with open(fileName,‘w‘,encoding=‘utf-8‘) as f:
f.write(page_text)
print(fileName,‘保存成功‘)
UA检测:门户网站的服务器会检测身份载体标识(也就是User-Agent),如果检测到为某一款浏览器请求,说明这是一个正常请求
如不是,则表示为不正常请求(爬虫),遭到拒绝
UA伪装:反UA检测的,反反爬虫技术
把User-Agent封装到一个字典里,再发起请求里,在headers参数里 带上你的User-Agent信息
以上是关于爬虫 基础的主要内容,如果未能解决你的问题,请参考以下文章