python爬虫-requests模块

目录

      • 模块简介:
      • 使用requests模块简单页面爬取过程:
      • 常用requests 方法:
      • 常用响应信息:
        • reason属性示例:
        • text属性示例:
        • json()方法调用示例:
      • 理解!!!!:

模块简介:

​requests 模块简单高效,常用于爬虫。Python 内置了 requests 模块,该模块主要用来发送 HTTP 请求,每次调用 requests 请求之后,会返回一个 response 对象,该对象包含了具体的响应信息。

使用requests模块简单页面爬取过程:

  1. 导入requests数据包

  2. 指定发送请求的url地址

  3. 由于多数网站都有监测机制,为保证正常爬取页面,应进行UA伪装

  4. 发送请求并用变量接收。应根据实际返回数据情况调用相应的属性方法
    例如:返回数据为json数据则调用json()方法;返回数据为HTML文件则用test属性等

  5. 将返回数据持续化存储

# -*- coding: utf-8 -*-
import requests


def main():
    # 指定url
    url = input("请输入要爬取网站的地址:")

    # UA伪装
    headers = {
        'User-Agent': 'Mozilla/5.0(Windows NT 10.0; Win64; x64; rv: 108.0) Gecko / 20100101 Firefox / 108.0'
    }
    # 发起请求,用变量接收
    response = requests.get(url=url, headers=headers).text

    print("爬取结果如下:")
    print(response)

    # 持久化存储,根据需求可修改!!!!
    # with open('./sougou_text.html', 'w', encoding='utf-8') as fp:
    #     fp.write(page_text)
    # print('over!')


if __name__ == '__main__':
    main()

python爬虫-requests模块_第1张图片

常用requests 方法:

requests 方法 用法
get(url, params, headers) 发送 GET 请求到指定 url
post(url, data, headers) 发送 POST 请求到指定 url
request(method, url,headers) 向指定的 url 发送指定的请求方法
1、通常情况下我们使用最多的requests请求方法是post和get类型。
2、requests请求方法,根据实际需求可传入多个参数。经常使用的参数例如url,data,headers等。
3、客户端向服务器发送请求,服务器根据headers确定客户端的浏览器类型,从而返回适配对应浏览器的内容。因此爬取页面前应用字典封装handers来伪装身份。
4、post和get方法传入参数均应使用字典封装。

在这里插入图片描述
python爬虫-requests模块_第2张图片

常用响应信息:

​ 调用 requests 请求之后,会返回一个 response 对象,该对象包含了具体的响应信息。

属性/方法 用法
reason 响应状态的描述,比如 Not Found /OK
text 返回响应的内容,unicode 类型数据
json() 返回结果的 JSON 对象 (结果需要以 JSON 格式编写的,否则会引发错误)

reason属性示例:

# 导入 requests 包
import requests
# 发送请求
x = requests.get('https://zhidao.baidu.com/')
# 响应状态的描述
print(x.reason)

python爬虫-requests模块_第3张图片

text属性示例:

# 导入 requests 包
import requests
# 发送请求
x = requests.get('https://zhidao.baidu.com/')
# 返回响应的内容,unicode 类型数据
response = x.text
# 打印输出
print(response)

python爬虫-requests模块_第4张图片

json()方法调用示例:

# 导入 requests 包
import requests
# 发送请求
x = requests.get('https://www.runoob.com/try/ajax/json_demo.json')
# 调用json()方法
response = x.json()
# 返回 json 数据
print(response)
# 如果需要将json数据持续化存储,还需要导入json包

python爬虫-requests模块_第5张图片

理解!!!!:

每一个网站都结构不同,网页爬虫的重要前提是对爬取页面框架进行详细了解。应对返回数据和页面标签结构等内容有深入了解后,再进行特定爬虫代码编写。

你可能感兴趣的:(python,python,爬虫,开发语言)