抓取网页和二进制数据

简介: 简单使用

抓取网页

上面请求链接返回的是JSON格式的字符串,那么请求普通的网页,就能获取到相对应的内容根据例
r=requests.get("https://ssr1.scrape.center/")
pattern=re.compile("<h2.?>(.?)",re.S)
titles=re.findall(pattern,r.text)
print(titles)
image.png
这就是最简单的一个抓取和提取的过程

抓取二进制数据

我们抓取的是一个页面他的实质是HTML文档,但是当我们要爬取图片,音频,视频时,这些文件本质上都是由二进制码组成的,要抓取他们,就必须要拿到他们的二进制数据,抓取站点图标,也就是浏览器中每一个标签上显示的的小图标,
爬取到的数据为二进制数据,我们可以通过open方法打开并保存图片。

添加请求头

我们可以通过headers参数来添加请求头,我们可以在其中添加任何的字段,如果我们想添加一个请求头的User-Agent字段我们可以
import requests
headers={
"User-Agent":"Mozilla/5.0(Macintosh;Intel Mac OS X 10_11_4" AppleWebkit/537(KHTML,like Cecko)Chrome/52.0.2743.116 Safari/ 537.36"
r=requsts.get("https://ssr1.scrape.center/",headers=headers)
print(r.text)
当然我们也可以在headers参数中添加任何其他字段信息
}

相关文章
|
Linux 编译器
Linux alloca函数栈动态内存分配
Linux C提供了在**栈中动态分配内存**的函数`alloca`,用法和`malloc`一样,但不用`free`,因为他是在栈中分配空间,超出定义域后自动释放
483 0
|
10月前
|
自然语言处理 JavaScript API
百宝箱开放平台 ✖️ 开发流程
本文介绍通过开放平台集成智能体能力的流程,包括创建发布应用、获取授权令牌及调用API/SDK三步。涵盖智能体调用、模型测评、文件操作等接口,并提供Java、Python、Node.js及Web SDK支持,助力开发者快速实现智能对话与内容生成功能集成。(239字)
808 0
百宝箱开放平台 ✖️ 开发流程
|
10月前
|
自然语言处理 JavaScript API
《五分钟上手指南:从零构建百宝箱智能知识库系统》
本文档为开发者提供知识库系统快速入门指南,涵盖API Token申请、5大核心接口调用及多语言SDK接入方法,助您快速构建和使用知识库。
544 0
《五分钟上手指南:从零构建百宝箱智能知识库系统》
|
10月前
|
JSON API 数据格式
蚂蚁百宝箱开放平台 ✖️ 创建知识库
调用接口可在指定空间内创建知识库,需提供唯一名称及描述,通过Authorization验证身份,成功返回知识库ID,支持JSON格式请求。
402 0
|
关系型数据库 MySQL 数据库连接
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
3059 82
|
人工智能 自然语言处理 数据可视化
DeepSeek+Coze:普通人也能轻松搭建AI智能体的完整指南优雅草卓伊凡
DeepSeek+Coze:普通人也能轻松搭建AI智能体的完整指南优雅草卓伊凡
3590 1
DeepSeek+Coze:普通人也能轻松搭建AI智能体的完整指南优雅草卓伊凡
|
数据安全/隐私保护 UED 异构计算
【大模型私有化部署要花多少钱?】一张图看懂你的钱用在哪
本文探讨了高性价比实现DeepSeek大模型私有化部署的方法,分为两部分: 一是定义大模型性能指标,包括系统级(吞吐量、并发数)与用户体验级(首token生成时间、单token生成时间)指标,并通过roofline模型分析性能瓶颈; 二是评估私有化部署成本,对比不同硬件(如H20和4090)及模型选择,结合业务需求优化资源配置。适合关注数据安全与成本效益的企业参考。
【大模型私有化部署要花多少钱?】一张图看懂你的钱用在哪
|
缓存 监控 Linux
Linux配置成代理服务器
代理服务器(Proxy Server)是一种位于计算机网络中的中间服务器,它充当了客户端和目标服务器之间的中介,用于转发客户端请求并获取目标服务器的响应。代理服务器的主要功能包括以下几点:
8807 1
|
运维 JavaScript Linux
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
956 1
|
存储 Java Go
巧用 Go Map 特性对数组或切片去重
本文介绍了如何利用 Go 的复合数据类型 Map 的特性对数组或切片进行去重。值得注意的一个地方是,在使用 Map 构建 Set 时,Value 的数据类型指定为 struct{},原因是后面在添加键值对的时候,指定的 Value 为空结构体 strcut{}{},空结构体不占用内存空间。
1449 1
巧用 Go Map 特性对数组或切片去重