爬虫在使用场景中的类型:
通用爬虫:抓取系统重要组成部分,抓取的是一整张页面数据。
聚焦爬虫:在通用爬虫的基础上,抓取页面的局部内容。
增量式爬虫:检测网站中数据更新的情况,只会抓取网站中最新更新的数据。
反爬机制与反反爬策略对立
robots.txt协议:规定了网站中哪些数据可以被爬虫爬取哪些不行。
哔哩哔哩的robots.txt协议
http与https协议
http协议:服务器与客户端进行数据交互的一种形式。
https协议:安全的超文本传输协议。
重要的头信息:
1.请求头
User-Agent:请求载体的身份标识
-Connection:请求完毕后,是断开连接还是保持连接。
2.回应头
Connection-Type:服务器响应会客户端的数据类型
加密方式
-对称密钥加密:对称密钥加密是双方使用相同的密钥,必须以绝对安全的形式传送密钥才能保证安全。若果密钥泄露,加密数据将受到威胁。
-非对称密钥加密:
1、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。
2、得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。
3、乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。
在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。
反之亦然。
-证书密钥加密:多一个中间机构对服务端发的公钥进行认证,认证成功后对公钥进行数字签名(防伪)并封装到证书中发送给客户端。客户端对数字签名进行验证,确认是服务端发出的公钥。
2.-urllib模块(少用)---不讲
-requests模块
requests模块:python中原生的一款基于网络请求的模块。
作用:模拟浏览器发请求。
如何使用:
- 指定url
- 发起请求(get,post)
- 获取响应数据
- 持久化存储
环境安装:
pip install request
import requests
# 指定url
url='https://www.bilibili.com/'
#发起请求,get方法会返回一个响应对象
response = requests.get(url=url)
# 获取响应数据,text返回发是字符串形式的响应数据
page_text = response.text
print(page_text)
# 持久化存储
with open('./bilibili.html','w',encoding='utf-8') as fp:
fp.write(page_text)
print('end!')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)