爬虫 基础

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信息

以上是关于爬虫 基础的主要内容,如果未能解决你的问题,请参考以下文章

[vscode]--HTML代码片段(基础版,reactvuejquery)

Python网络爬虫学习手记——爬虫基础

爬虫系列 2.2 爬虫基础2 -网页结构进阶

爬虫系列 2.2 爬虫基础2 -网页结构进阶

爬虫简单基础代码

总结整理 -- 爬虫技术(C#版)