爬虫FirstDay01-Request请求模块详解

server/2025/2/25 5:06:04/

一、requests模块介绍

#第一步安装requests模块
#导入requests模块
import requests
#使用一个变量接受requests.get方法
resp = requests.get('https://www.baidu.com')
#默认输出响应状态码
print(resp)
#获取响应状态码也可以通过status_code方法
print(resp.status_code)

 

二、关于params参数

记得我刚学爬虫时候params参数还可以,现在百度首页都有关键字搜索反爬了。。。。

但是有办法你可以直接把整个链接复制到get请求方法里。。然后修改关键字的参数值。。

import requests
#params参数 用于存放搜索关键词
kw = {'c':'news','q':'deepseek','from':'home','ie':'utf-8'
}
#将params参数传递到get请求方法中
resp = requests.get('https://search.sina.com.cn/?c=news&q=deepseek&from=home&ie=utf-8',params=kw)
#在页面中右键选择查看源代码 找到网页所使用的unicode编码格式
resp.encoding = 'utf-8' #一般是utf-8 注意!encoding编码格式是可变的
#将百度的首页保存为html文档
with open('sina1.html',mode='a+')as f:f.write(resp.text)#请求到的内容写入文件 .text返回的是unicode格式的数据#使用try和except语句 保证出现异常时可以发现异常try:print('OK!')except:print('遇到一个错误')f.close()

 

这样可以看到文档中还是有当前关键字的

 三、关于headers参数

你正常可以访问就不用加,如果响应码不是200就需要加

右键-检查-网络

右键检查找到页面响应头信息user-agent复制一下,当然当前状态是可以访问的,可以不用加

但有些情况下比如400状态就需要添加一下再访问试试

#导入requests模块
import requests
#设置headers头部信息
headers = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0'
}
#使用一个变量接受requests.get方法
resp = requests.get('https://www.baidu.com/s?wd=%E8%8B%B9%E6%9E%9C%E9%A6%96%E6%AC%A1%E5%85%A8%E9%9D%A2%E6%94%BE%E5%BC%83Home%E9%94%AE&sa=fyb_n_homepage&rsv_dl=fyb_n_homepage&from=super&cl=3&tn=baidutop10&fr=top1000&rsv_idx=2&hisfilter=1',headers=headers)
#默认输出响应状态码 如果状态码不是200的情况下再去加headers信息
print(resp)
#获取响应状态码也可以通过status_code方法
print(resp.status_code)


http://www.ppmy.cn/server/170480.html

相关文章

Spring Boot项目@Cacheable注解的使用

Cacheable 是 Spring 框架中用于缓存的注解之一,它可以帮助你轻松地将方法的结果缓存起来,从而提高应用的性能。下面详细介绍如何使用 Cacheable 注解以及相关的配置和注意事项。 1. 基本用法 1.1 添加依赖 首先,确保你的项目中包含了 Spr…

【AI】VS Code中使用GitHub Copilot

在VS Code中使用GitHub Copilot可以显著提升开发效率和代码质量,以下是其主要优势: 1. 代码自动补全 智能建议:Copilot能根据上下文提供代码补全建议,减少手动输入。 多语言支持:支持多种编程语言,适用于不…

DeepSeek 助力 Vue 开发:打造丝滑的缩略图列表(Thumbnail List)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

k8s的资源说明 cpu 内存 requests usage limits

一、k8s资源配置 在 Kubernetes 中,有三个非常重要的资源概念,分别是资源请求(Requests)、资源使用率(Usage) 和 资源限制(Limits) 1、资源请求 Requests 资源请求 是 Pod 启动时…

深度学习驱动下的字符识别:挑战与创新

一、引言 1.1 研究背景 深度学习在字符识别领域具有至关重要的地位。随着信息技术的飞速发展,对字符识别的准确性和效率要求越来越高。字符识别作为计算机视觉领域的一个重要研究方向,其主要目的是将各种形式的字符转换成计算机可识别的文本信息。近年…

YOLOv11-ultralytics-8.3.67部分代码阅读笔记-dataset.py

dataset.py ultralytics\data\dataset.py 目录 dataset.py 1.所需的库和模块 2.class YOLODataset(BaseDataset): 3.class YOLOMultiModalDataset(YOLODataset): 4.class GroundingDataset(YOLODataset): 5.class YOLOConcatDataset(ConcatDataset): 6.class Sema…

Rust并发编程实践:10分钟入门系统级编程

目录 学前一问:Rust为何而出现? 摘要 引言 正文解析: 一、Rust中的并发编程基础 1.1 线程 1.2 协程 二、Rust并发编程的高级特性 2.1 通道 2.2 原子操作 2.3 锁 三、实例展示:优化并发编程性能 1. 并行计算 2. 异步…

CentOS创建软链接(符号链接)、硬链接和区别

一、创建软链接(符号链接) 查看ln --help: 命令: ln -s 源 链接名 例如在/data目录下有个zulu8.84.0.15-ca-jdk8.0.442-linux_x64.tar.gz文件,我们为它创建软链接 ln -s /data/zulu8.84.0.15-ca-jdk8.0.442-linux_x64.tar.gz /data/java8 删除软链…