1. python爬虫基础知识和简单爬取

1. 爬虫

通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程。

  • 爬虫使用场景中的分类:
    • 通用爬虫:
      抓取系统重要组成部分,抓取的是一整张页面数据。
    • 聚焦爬虫:
      建立在通用爬虫的基础之上,抓取的是页面中特定的局部内容。
    • 增量式爬虫:
      检测网站中数据更新的情况,只抓取网站中最新更新出来的数据。

2. 反爬机制(防止爬虫),反反爬机制(破解反爬机制)

  • robots.txt协议:
    君子协议,规定了网站中哪些数据可以被爬虫爬取,哪些数据不可以被爬取。

3. http协议

  • 概念:
    服务器和客户端进行数据交互的一种形式。

4. 常用请求头信息

  • User-Agent:请求载体的身份标识。
  • Connection:请求完毕后,是断开连接还是保持连接。

5. 常用响应头信息

  • Content-Type:服务器响应回客户端的数据类型。

6. https协议

  • 安全的超文本传输(https)协议:

7. 加密方式

  • 对称秘钥加密:
    客户端制定加密方式,进行加密。传递给服务器信息时,将加密后的密文和解密方式一同传输给服务器,服务器根据接收到的解密方式解密密文。
    缺点:客户端传输信息给服务器时,若信息被拦截,则解密方式和密文就会都被获取。

  • 非对称秘钥加密:
    服务器端先设定加密方式,再将公钥(该加密方式)发送给客户端。客户端便会根据此公钥(该加密方式)对要发送的信息进行加密,传输数据时便传输此方式加密后的密文。服务器端收到密文后,便根据相对应的私钥进行解密。
    优势:密文和公钥发放分离,降低了信息传输时被拦截后的泄密风险。

    缺点:加密方式效率低,影响通信速度;在传输公钥有被中间机构拦截的风险,若公钥被篡改,则会导致客户端拿到的是错误的公钥。

  • 证书秘钥加密:
    加入了证书认证机构角色。服务器端先制定加密方式(公钥),之后将公钥发送给证书认证机构进行审核,审核通过之后便会对该公钥进行数字签名(用于防伪),签名完后便将数字签名后的证书一并发送给客户端,客户端便会使用通过的证书即携带签名的公钥进行信息加密,加密完后将密文发送给服务器端。

    注:只有客户端拿到的公钥有数字签名和证书才认可该公钥,确认使用该公钥对密文进行加密。

8. requests模块

(1)urlib模块(老模块)
(2)requests模块

python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率高。

  • 作用:模拟浏览器发请求。

  • requests模块的编码流程:

    • (1)指定URL
    • (2)发起请求
    • (3)获取响应数据
    • (4)持久化存储
  • 环境安装:

pip install requests
  • 实战编码:
    • 需求:爬取搜狗首页的页面数据
import requests

if __name__ == "__main__":
	# 指定URL
    url = 'https://www.sogou.com/'
    
    # 发起请求
    response = requests.get(url=url)
    
    # 获取响应数据
    page_text = response.text
    print(page_text)
    
    # 持久化存储
    with open('./sogou.html','w',encoding='utf-8') as fp:
        fp.write(page_text)
    print('web crawler over!')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰阳星宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值