Python爬虫01

requests模块
文档
- 安装
pip/pip3 install requests
- response.text 和 response.content的区别
1.response.text 等价于 response.content.decode("推测出的编码字符集")response.text
类型:str
编码类型:requests模块自动根据Http头部对响应的编码(response.encoding)作出有根据的推测,推测的文本编码response.content
类型:bytes
编码类型:没有指定2.通过对response.content进行decode,来解决中文乱码
response.content.decode() 默认utf-8
response.content.decode("gbk")
常见的编码集
utf-8
gbk
gb2312
ascii
iso-8859-1 3.response响应对象的其他常用属性或方法
response.url 响应url(有时候响应url和请求url不一致)
response.status_code 响应状态码
response.request.headers 响应对应的请求头
response.headers 响应头
response.request._cookies 响应对应请求的cookie;返回cookieJar类型
response.cookies 响应cookie(经过set-cookie动作;返回cookieJar类型)
response.json() 自动将json字符串类型的响应内容转换为python对象
- headers参数的使用
requests.get(url, headers=headers)- headers 参数接收字典形式的请求头- 请求头字段名作为key,字段对应的值作为value
- 发送带参数的请求
- 直接URL上拼接https://www.baidu.com/s?wd=python- 构建字典,交给paramskw = {"wd":"python"}requests.get(url, headers=headers, paramas=kw)
- headers中携带cookie
requests.get(url, headers=headers)
- cookies参数的使用
保持会话
# 构建cookie字典
requests.get(url, cookies=cookies)
- cookieJar的转换方法
1.转换方法
cookies_dict = resquests.utils.dict_from_cookiejar(response.cookies)
2.其中response.cookies返回的就是cookiejar类型的对象
3.requests.utils.dict_from_cookiejar 函数返回cookies字典
- 超时时间timeout的使用
response = requests.get(url, timeout=3)
- 代理ip参数proxies的使用

response = requests.get(url, proxies=proxies)
proxies的形式:字典
eg:
proxies = {"http":"http://xxxx","https":"https://xxx"
}
- 使用verify参数忽略CA证书
verify=False
verify 参数能忽略CA证书的认证import requests
url = "xxxx"
response = requests.get(url, verify=False)
- requests发送post请求
response = requests.post(url, data)
data 参数接收一个字典
- requests.session进行状态保持
requests.session的作用自动处理cookie,即下一次请求会带上前一次的cookie
requests.session的应用场景自动处理连续的多次请求过程中产生的cookie
requests.session的使用方法session = requests.session() #实例化session对象response = session.get(url, headers, ...)response = session.post(url, data, ...)session对象发送get或者post请求的参数,与requests模块发送请求的参数完全一致
相关文章:
Python爬虫01
requests模块 文档 安装 pip/pip3 install requestsresponse.text 和 response.content的区别 1.response.text 等价于 response.content.decode("推测出的编码字符集")response.text 类型:str 编码类型:requests模块自动根据Http头部对…...
关于vue项目启动报错Error: error:0308010C:digital envelope routines::unsupported
周五啦,总结一下这周遇到的个别问题吧,就是关于启动项目的时候其他的东西都准备好了,执行命令后报错Error: error:0308010C:digital envelope routines::unsupported 这里看一下我标注的地方,然后总结一下就不难发现问题所在 查看…...
随笔1:数学建模与数值计算
目录 1.1 矩阵运算 1.2 基本数学函数 1.3 数值求解 数学建模与数值计算 是将实际问题通过数学公式和模型进行描述,并通过计算获得模型解的过程。这是数学建模中最基本也是最重要的环节之一。下面是详细的知识点讲解及相应的MATLAB代码示例。 1.1 矩阵运算 知识点…...
SDN架构详解
目录 1)经典的IP网络-分布式网络 2)经典网络面临的问题 3)SDN起源 4)OpenFlow基本概念 5)Flow Table简介 6)SDN的网络架构 7)华为SDN网络架构 8)传统网络 vs SDN 9…...
platform框架
platform框架 注册设备进入总线platform_device_register函数 注册驱动进入总线platform_driver_register函数 注册设备进入总线 platform_device_register函数 int platform_device_register(struct platform_device *pdev) struct platform_device {const char * name; 名…...
零成本搞定静态博客——十分钟安装hugo与主题
文章目录 hugo介绍hugo安装与使用方式一:新建站点自建主题方式二:新建站点使用系统推荐的主题 hugo介绍 通过 Hugo 你可以快速搭建你的静态网站,比如博客系统、文档介绍、公司主页、产品介绍等等。相对于其他静态网站生成器来说,…...
windows C++ 并行编程-转换使用取消的 OpenMP 循环以使用并发运行时
某些并行循环不需要执行所有迭代。 例如,搜索值的算法可以在找到值后终止。 OpenMP 不提供中断并行循环的机制。 但是,可以使用布尔值或标志来启用循环迭代,以指示已找到解决方案。 并发运行时提供允许一个任务取消其他尚未启动的任务的功能。…...
经验笔记:跨站脚本攻击(Cross-Site Scripting,简称XSS)
跨站脚本攻击(Cross-Site Scripting,简称XSS)经验笔记 跨站脚本攻击(XSS:Cross-Site Scripting)是一种常见的Web应用程序安全漏洞,它允许攻击者将恶意脚本注入到看起来来自可信网站的网页上。当…...
演示:基于WPF的DrawingVisual和谷歌地图瓦片开发的地图(完全独立不依赖第三方库)
一、目的:基于WPF的DrawingVisual和谷歌地图瓦片开发的地图 二、预览 三、环境 VS2022,Net7,DrawingVisual,谷歌地图瓦片 四、主要功能 地图缩放,平移,定位 真实经纬度 显示瓦片信息 显示真实经纬度和经纬线 省市县…...
【C++】static作用总结
文章目录 1. 在函数内(局部静态变量)2. 在类中的静态成员变量3. 在类中的静态成员函数4. 在文件/模块中的静态变量或函数总结 1. 在函数内(局部静态变量) 当 static 用于函数内的局部变量时,该变量的生命周期变为整个…...
视频提取字幕的软件有哪些?高效转录用这些
探索视频的奥秘,从字幕开始!你是否曾被繁复的字幕处理困扰,渴望有一款简单好用的在线免费软件来轻松解锁字幕提取? 告别手动输入的烦恼,我们为你精选了6款视频字幕提取在线免费软件,它们不仅能一键转录&am…...
(4)SVG-path中的椭圆弧A(绝对)或a(相对)
1、概念 表示经过起始点(即上一条命令的结束点),到结束点之间画一段椭圆弧 2、7个参数 rx,ry,x-axis-rotation,large-arc-flag,sweep-flag,x,y (1)和(2&a…...
docker国内镜像源报错解决方案
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. 遇到 Job for docker.service failed because the control process exited with error …...
《C++进阶之路:探寻预处理宏的替代方案》
在 C编程的历程中,预处理宏曾经扮演了重要的角色。然而,随着 C语言的不断发展和编程理念的进步,预处理宏的一些弊端也逐渐显现出来。那么,C中的预处理宏的替代方案有哪些呢?本文将深入探讨这个问题,为你揭示…...
【综合案例】使用鸿蒙编写掘金评论列表案例
效果展示 功能描述 整个页面分为三大模块:顶部 主体【评论列表】 底部。 点击顶部的最新和最热按钮可以进行切换,点击最新按钮的时候主体部分的评论列表是按照时间由近至远进行排列展示,点击最热按钮的时候主体部分的评论列表是按照点赞数…...
【springboot】使用缓存
目录 1. 添加依赖 2. 配置缓存 3. 使用EnableCaching注解开启缓存 4. 使用注解 1. 配置缓存名称 2. 配置缓存的键 3. 移除缓存 5. 运行结果 1. 添加依赖 <!-- springboot缓存--><dependency><groupId>org.springframework.boot</groupId>…...
<Linux> 基础IO
目录 一、C语言文件IO 1. 基础认知 2. stdin、stdout、stderr 3. 文件接口汇总 4. 文件写入 5. 文件读取 6. 标志位传递 7. 总结 二、系统文件IO 1. 文件系统调用open 1.1 pathname : 1.2 flags : 1.3 mode: 1.4 open函数返回值:…...
OpenFeign的使用(一)
OpenFeign的定义 OpenFeign是一个声明式的Web服务客户端,它简化了编写Web服务客户端的过程,使得微服务间的通信更加简单和灵活。它主要作用于帮助开发者方便地调用远程服务,让远程调用像本地方法调用一样简单。 事实上,远程调用的…...
【Python报错已解决】`AttributeError: move_to requires a WebElement`
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 引言:一、问题描述:1.1 报错示例:1.2 报错分析:1.3 解决思路ÿ…...
数据结构(邓俊辉)学习笔记】排序 2——快速排序:性能分析
文章目录 1. 不稳定 就地2. 最好情况 最坏情况3.平均情况 1. 不稳定 就地 以下针对刚才所给出的快速排序算法的第一个版本,就其性能做一分析。 首先很遗憾地发现,这个算法是不稳定的。快速排序算法的不稳定性通过我们刚才所举的那个实例可以清楚地看…...
C语言编译器工具集终极指南:从GCC、Clang到现代编译技术
C语言编译器工具集终极指南:从GCC、Clang到现代编译技术 【免费下载链接】awesome-c A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-... projects out there. 项目地址: https://git…...
IHP作业队列系统:提升后台任务处理效率的终极指南
IHP作业队列系统:提升后台任务处理效率的终极指南 【免费下载链接】ihp 🔥 The fastest way to build type safe web apps. IHP is a new batteries-included web framework optimized for longterm productivity and programmer happiness 项目地址: …...
Fluvio Connectors 终极指南:5步快速构建实时数据管道
Fluvio Connectors 终极指南:5步快速构建实时数据管道 【免费下载链接】fluvio 🦀 event stream processing for developers to collect and transform data in motion to power responsive data intensive applications. 项目地址: https://gitcode.c…...
Open Interpreter桌面客户端体验:早期版本实测分享
Open Interpreter桌面客户端体验:早期版本实测分享 1. 引言:当AI开始“动手”写代码 想象一下,你对着电脑说:“帮我分析一下这个CSV文件,然后画个趋势图。”几秒钟后,代码自动生成、运行,图表…...
小程序逆向工具wxappUnpacker:源码还原技术全解析与实战指南
小程序逆向工具wxappUnpacker:源码还原技术全解析与实战指南 【免费下载链接】wxappUnpacker 项目地址: https://gitcode.com/gh_mirrors/wxappu/wxappUnpacker wxappUnpacker作为一款专注于微信小程序解析的开源工具,通过wxapkg解析技术实现编译…...
LLM强化学习从入门到精通:Composition-RL全解析,收藏这篇就够了!
🎯 为什么我们需要Composition-RL? 想象一下:你正在备考数学竞赛,一开始做的都是基础题。随着练习增多,你能轻松答对所有基础题,但这些简单题已经无法帮你进步了——你需要更难的题目来提升能力。 这正是…...
好消息!内存条开始降价了,价格能否回到2025年年初价?
今天又开始因为各种原因在电脑上折腾大模型了,但是发现一件很可怕的事情:16GB的内存真的不够用。 哈哈哈哈……这个Windows电脑因为有很长一段时间没有使用,所以在粉丝需要的时候,直接把一对16GB的内存条拆出来卖了,后…...
告别龟速下载!在VMware里给UOS 20和CentOS 8配置本地yum源(保姆级图文)
企业级虚拟化环境下的高效软件管理:UOS与CentOS本地源深度配置指南 当你在企业内网或隔离开发环境中,是否经历过这样的场景:急需安装一个关键依赖包,却因为网络限制或带宽瓶颈,眼睁睁看着进度条以KB/s的速度缓慢爬行&a…...
SEO_快速诊断并解决网站SEO问题的步骤
SEO问题的快速诊断:为什么你需要这一步 在数字化时代,网站的SEO优化是提升网站流量和品牌知名度的关键。如果网站的SEO问题得不到及时诊断和解决,将会严重影响其在搜索引擎中的排名。这篇文章将带你快速了解如何诊断并解决网站的SEO问题&…...
OpenClaw技能开发入门:为Qwen3-32B-Chat镜像编写自定义自动化模块
OpenClaw技能开发入门:为Qwen3-32B-Chat镜像编写自定义自动化模块 1. 为什么需要自定义OpenClaw技能? 去年我接手了一个重复性极高的数据整理工作——每天要从十几个不同格式的Excel文件中提取特定字段,合并成统一报表。当我第三次在凌晨两…...
