爬虫(requsets)笔记

news/2025/3/19 16:32:06/

一、request_基本使用

pip install requests -i https://pypi.douban.com/simple 

一个类型六个属性

r.text 
获取网站源码
r.encoding 访问或定制编码方式
r.url 获取请求的url
r.content 响应的字节类型
r.status_code 响应的状态码
r.headers 响应的头信息
python">import requestsurl='http://www.baidu.com'resopnse=requests.get(url=url)# 第一类型和六个属性
# Response类型
print(type(resopnse))# 设置响应的编码格式
resopnse.encoding='utf-8'
# 以字符串的形式
print(resopnse.text)# 返回一个url地址
print(resopnse.url)# 返回的是二进制数据
print(resopnse.content)# 返回响应的状态码
print(resopnse.status_code)# 返回的是响应头
print(resopnse.headers)

二、requests_get请求

定制参数

1、参数使用params 传递
2、参数无需urlencode编码
3、不需要请求对象的定制
4、请求资源路径中?可加可不加
python">
# urllib
# 1 一个类型六个方法
# 2 get 请求
# 3 post 请求
# 4 ajax get 请求
# 5 ajax post 请求
# 6 cookie登录
# 7 代理# requsets
# 1 一个类型六个属性
# 2 get 请求
# 3 post 请求
# 4 代理
# 5 cookie 验证码import requestsurl='http://www.baidu.com/s?'headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
}data={'wd':'北京'
}# url   请求资源路径
# params 参数
# kwargs 字典
response=requests.get(url=url,params=data,headers=headers)content=response.textprint(content)# 参数使用params传递
# 参数无需urlencode编码
# 不需要请求对象定制
# 请求资源路径中的?可加可不加

三、request_post请求

getpost区别?

1: get 请求的参数名字是 params post 请求的参数的名字是 data
2: 请求资源路径后面可以不加?
3: 不需要手动编解码
4: 不需要做请求对象的定制

python">
import requestsurl='https://fanyi.baidu.com/sug'headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
}data={'kw':'eye'
}#url 请求地址
#data 请求参数
#kwarg 字典
response=requests.post(url=url,data=data,headers=headers)content=response.textobj=response.json()
print(obj)#总结
# 1 post请求 是不需要编解码
# 2 post请求的参数是data
# 3 不需要请求对象的定制

四、使用requsests和xpath获取数据

示例 :获取 百度一下

代码如下:

python">
# 使用requests和Xpath获取数据
from lxml import etree
import requestsurl = 'https://www.baidu.com/'
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) Chrome/65.0.3325.181'}response = requests.get(url,headers = headers)# 设置响应的编码格式
response.encoding='utf-8'# 获取网页源码
content= response.content.decode('utf-8')
# print(content)# xpath解析
html=etree.HTML(content,parser=etree.HTMLParser(encoding='utf-8'))
request=html.xpath('//*[@id="su"]/@value')[0]
print(request)

运行结果:


http://www.ppmy.cn/news/1580360.html

相关文章

大语言模型的压缩技术

尽管人们对越来越大的语言模型一直很感兴趣,但MistralAI 向我们表明,规模只是相对而言的,而对边缘计算日益增长的兴趣促使我们使用小型语言获得不错的结果。压缩技术提供了一种替代方法。在本文中,我将解释这些技术,并…

基于Spring Boot的项目申报系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

STM32---FreeRTOS任务通知

一、简介 1、任务通知简介 任务通知:用来通知任务的,任务控制块中的结构体成员变量 ulNotifiedValue就是这个通知值。 使用队列、信号量、事件标志组时都需另外创建一个结构体,通过中间的结构体进行间接通信! 使用任务通知时&a…

python 提取视频中的音频

在Python中提取视频中的音频,你可以使用moviepy库,这是一个非常强大且易于使用的库,专门用于视频编辑。以下是如何使用moviepy来提取视频中的音频的步骤: 安装moviepy 首先,你需要安装moviepy。你可以通过pip安装它&a…

【数据库】掌握MySQL事务与锁机制-数据一致性的关键

在数据库的世界里,数据就是一切。而确保数据的准确性和一致性,则是数据库系统的核心任务之一。想象一下,如果没有合适的机制,当多个用户同时试图修改同一条数据时,会发生什么? chaos(混乱&#…

批量压缩与优化 Excel 文档,减少 Excel 文档大小

当我们在 Excel 文档中插入图片资源的时候,如果我们插入的是原图,可能会导致 Excel 变得非常的大。这非常不利于我们传输或者共享。那么当我们的 Excel 文件非常大的时候,我们就需要对文档做一些压缩或者优化的处理。那有没有什么方法可以实现…

【数据分享】2000—2024年我国省市县三级逐年归一化植被指数(NDVI)数据(年最大值/Shp/Excel格式)

之前我们分享过2000-2024年我国逐年的归一化植被指数(NDVI)栅格数据,该逐年数据是取的当年月归一化植被指数(NDVI)的年最大值。(可查看之前的文章获悉详情)!该数据来源于NASA定期发布…

Android主流架构模式对比分析

Android主流架构模式对比分析 一、引言 在Android应用开发中,选择合适的架构模式对于提高代码质量、可维护性和可测试性至关重要。本文将深入分析MVC、MVP和MVVM三种主流架构模式的原理、优缺点及实践应用。 二、MVC架构模式 2.1 MVC基本概念 MVC(M…