Python - 在本地保存请求或 BeautifulSoup 对象

2023-11-25

我有一些代码很长,因此需要很长时间才能运行。我想简单地在本地保存请求对象(在本例中为“名称”)或 BeautifulSoup 对象(在本例中为“汤”),以便下次可以节省时间。这是代码:

from bs4 import BeautifulSoup
import requests

url = 'SOMEURL'
name = requests.get(url)
soup = BeautifulSoup(name.content)

Since name.content只是HTML,您可以将其转储到文件中并稍后再读回。

通常瓶颈不是解析,而是发出请求的网络延迟。

from bs4 import BeautifulSoup
import requests

url = 'https://google.com'
name = requests.get(url)

with open("/tmp/A.html", "w") as f:
  f.write(name.content)


# read it back in
with open("/tmp/A.html") as f:
  soup = BeautifulSoup(f)
  # do something with soup

以下是一些轶事证据,证明瓶颈存在于网络中。

from bs4 import BeautifulSoup
import requests
import time

url = 'https://google.com'

t1 = time.clock();
name = requests.get(url)
t2 = time.clock();
soup = BeautifulSoup(name.content)
t3 = time.clock();

print t2 - t1, t3 - t2

输出,在 Thinkpad X1 Carbon 上运行,具有快速园区网络。

0.11 0.02
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python - 在本地保存请求或 BeautifulSoup 对象 的相关文章

  • 与 iexact 一起使用时,Django get_or_create 无法设置字段

    我想用name iexact with get or create尽可能避免用户输入字段的重复 我的提供者模型有一个名称字段 我在其中使用get or create 查找工作正常 但在第一次创建实例时 如下面的 p1 Timber 示例 名
  • Python,将迭代函数变成递归函数

    我创建了一个输出 4 3 2 1 0 1 2 3 4 的迭代函数 def bounce2 n s n for i in range n print n n n 1 if n lt 0 for i in range s 1 print n n
  • 如何在 ReportLab 段落中插入回车符?

    有没有办法在 ReportLab 的段落中插入回车符 我试图将 n 连接到我的段落字符串 但这不起作用 Title Paragraph Title n Page myStyle 我想要这样做 因为我将名称放入单元格中 并且想要控制单元格中的
  • 字典中的列表,Python 中的循环

    我有以下代码 TYPES hotmail type hotmail lookup mixed dkim no signatures S Return Path email protected cdn cgi l email protecti
  • 在Python中创建一个新表

    我正在尝试从数控机床中提取数据 事件每毫秒发生一次 我需要过滤掉一些用管道 分隔的变量分隔符 PuTTy exe 程序生成的日志文件 我尝试阅读熊猫 但列不在同一位置 df pd read table data log sep 日志文件的一
  • 在 Flask (WSGI) 中使用全局单例,我是否需要担心竞争条件? [复制]

    这个问题在这里已经有答案了 Flask 的 hello world 演示是 from flask import Flask app Flask name app route def hello return Hello World if n
  • 为 Networkx 图添加标题?

    我希望我的代码创建一个带有标题的图 使用下面的代码 可以创建绘图 但没有标题 有人可以告诉我我做错了什么吗 import pandas as pd import networkx as nx from networkx algorithms
  • 用Python中的嵌套for循环替换重复的if语句?

    在我编写的下面的代码中 n 4 所以有五个 if 语句 所以如果我想将 n 增加到 比如说 10 那么就会有很多 if 语句 因此我的问题是 如何用更优雅的东西替换所有 if 语句 n p 4 5 number of trials prob
  • 如何使用 Pandas 将巨大的 CSV 转换为 SQLite?

    我有一个巨大的表 大约 60 GB 采用存档的 CSV 文件形式 我想将其转换为 SQLite 文件 我现在所做的事情如下 import pandas import sqlite3 cnx sqlite3 connect db sqlite
  • 如何修复错误“AttributeError:‘模块’对象在 python3 中没有属性‘客户端’?

    以下是我的代码 import http h1 http client HTTPConnection www bing com 我认为没问题 但是 python 给了我以下错误 AttributeError 模块 对象没有属性 客户端 我想知
  • pip 安装软件包两次

    不幸的是我无法重现它 但我们已经见过几次了 pip 将一个软件包安装两次 如果卸载第一个 第二个就会可见并且也可以被卸载 我的问题 如果一个包安装了两次 如何用 python 检查 背景 我想编写一个测试来检查这一点 devOp Updat
  • 一起使用 Flask 和 Tornado?

    我是以下的忠实粉丝Flask 部分是因为它很简单 部分是因为它有很多扩展 http flask pocoo org extensions 然而 Flask 是为了在 WSGI 环境中使用而设计的 而 WSGI 不是非阻塞的 所以 我相信 它
  • 参数验证,Python 中的最佳实践[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 让我们举一个 API 的例子 def get abs directory self path if os path isdir path ret
  • Django 接受 AM/PM 作为表单输入

    我试图弄清楚如何使用 DateTime 字段在 Django 中接受 am pm 作为时间格式 但我遇到了一些麻烦 我尝试在 forms py 文件中这样设置 pickup date time from DateTimeField inpu
  • Jupyter Notebook:没有名为 pandas 的模块

    我搜索了其他问题 但没有找到任何有帮助的内容 大多数只是建议您使用 conda 或 pip 安装 pandas 在我的 jupyter 笔记本中 我试图导入 pandas import pandas as pd 但我收到以下错误 Modul
  • 为什么 bot.get_channel() 会产生 NoneType?

    我正在制作一个 Discord 机器人来处理公告命令 当使用该命令时 我希望机器人在特定通道中发送一条消息 并向用户发送一条消息以表明该命令已发送 但是 我无法将消息发送到频道 我尝试了这段代码 import discord import
  • 在Python中从日期时间中减去秒

    我有一个 int 变量 它实际上是秒 让我们调用这个秒数X 我需要得到当前日期和时间 以日期时间格式 减去的结果X秒 Example If X是 65 当前日期是2014 06 03 15 45 00 那么我需要得到结果2014 06 03
  • 在游戏中实现功能

    我在完成这部分作业时遇到了麻烦 我必须宣布游戏的获胜者 然后输入到函数中 输入所有 if 语句后 我必须创建一个函数def playGame 这必须包括 showRules user getUserChoice computer getCo
  • 从数据集的给定日期范围中提取属于一天的数据

    我有一个数据集 日期范围为 2018 年 1 月 12 日到 8 月 3 日 其中包含一些值 维数为my df数据框是 my df shape 9752 2 每行包含半小时频率 第一行开始于2018 01 12 my df iloc 0 D
  • 从 pandas 数据框中绘制堆积条形图

    我有数据框 payout df head 10 复制以下 Excel 绘图的最简单 最智能和最快的方法是什么 我尝试过不同的方法 但无法让一切都到位 Thanks 如果您只想要一个堆积条形图 那么一种方法是使用循环来绘制数据框中的每一列 并

随机推荐

  • 无法将 Spring 应用程序部署到 Websphere

    我在开发阶段一直在开发 tomcat 的应用程序 随着我们的进展 我的客户希望部署到 websphere 我试图在 websphere 8 5 上这样做 但由于某种原因我似乎遇到了问题 Tomcat 很简单 我只是加入了战争 一切都按预期进
  • 设置连接到 Web 音频 api 的音频元素的playbackRate

    我一直在尝试使用 createMediaElementSource 将音频元素连接到网络音频 api 并让它工作 但我需要做的一件事是更改音频标签的播放速率 但我无法让它工作 如果您尝试运行下面的代码 您会发现它一直有效 直到您取消注释我们
  • Android - 工具栏标题居中[重复]

    这个问题在这里已经有答案了 我的应用程序中有一个工具栏 如下所示
  • 如何从文件的字节数组中获取文件名?

    我有代表我通过网络传输的文件的字节 除了在文件系统上手动重建文件外 如何从文件中获取信息 例如getName getPath 等 换句话说 我从机器 A 上的一个文件开始 我使用 FileUtils 将文件转换为字节数组 我通过网络将该文件
  • python 字节码兼容性

    python 字节码在不同版本之间的兼容性程度如何 我不是在谈论 python2 x 到 python3 x 而是说 Python33 到 python34 我并不是为了 安全 而追求它 我使用 Cython 将程序的大部分转换为 C 但是
  • 拉动刷新并加载更多列表视图,如 facebook [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 here i am using sliding drawer in that on click home icon it shows 3 tabs 1 which concept
  • 在 Java 中验证 PKCS#7 证书

    需要一些有关 Java 加密例程的帮助 给定 PKCS 7 签名 我想根据受信任的存储验证它包含的所有证书 我假设签名中包含的所有证书都按正确的顺序形成有效的证书路径 或链 等等 以便 最上面 0 是签名证书 下一个 1 是中间证书 用于签
  • 无法安装 RMagick 2.13.1。找不到 MagicWand.h。

    当我尝试安装 rmagick 时 出现以下错误消息 Can t install RMagick 2 13 1 Can t find MagickWand h extconf rb failed Could not create Makefi
  • “清除内存”后小部件不工作

    问题是 在我使用内置任务管理器的清理内存 RAM后 我的小部件停止工作 我想这与任务管理器清理RAM的方法有关 经过大量研究和尝试 我发现我需要 BroadcastReciever 用于监听包的更改和更新 所以我实现了 但它不起作用 因为文
  • JQgrid - 在搜索选项中转义“:”(值部分)

    这里解释了如何设置过滤器的值链接文本 我有两个要求 1 默认值需要为空 我预计 如果未设置 defaultValue 则过滤器为空 但在我的情况下不会发生这种情况 2 如何转义我的值中的 字符 和 用于分隔索引和值 但是 在我的值字符串中
  • Ace Editor - 更改 CTRL+H 键绑定

    I m working on an implementation of Ace Editor and Ctrl F works great for the built in Find dialog however I m trying to
  • Android Studio:构建 APK 与运行 APK 之间的大小差异

    我注意到使用这两个选项生成的 apk 的大小存在差异 为什么会发生这种情况 随着构建 gt 构建 APK option MyProject app build outputs apk app debug apk 大小 2 997 KB 随着
  • 将 ActionView::Helpers::FormBuilder 传递给部分

    我正在尝试根据特定的 AJAX 请求动态创建表单元素 这是我的设置 View div div 控制器 def check unique id student Student new this form ActionView Helpers
  • Nginx反向代理导致无限循环

    我的 Nginx 站点配置文件中有以下内容 server listen 80 default server listen 80 default server ipv6only on root usr share nginx html ind
  • 如何为 SPA 创建普通 JS 路由?

    我正在创建一个没有框架 工具 库的网络应用程序 所有的都是 Vanilla JS 我的做法更像是 React 风格 我想调用视图 pages dashboard js 中的视图 显示该视图并在用户单击仪表板导航链接时更改 URL 这是导航栏
  • 模块 X 的元数据版本不匹配错误发现版本 4,预期版本 3,解析符号 Y

    我正在尝试使用 angular cli 构建 Angular 4 应用程序 ng build 并使用 ngx clipboard 几天前我突然开始收到以下错误 即使我的应用程序源代码没有更改 ERROR in Metadata versio
  • 使用 Browserify 将 JQuery Mobile 包含在 Node JS 项目中

    我正在编写一个 Node JS 应用程序 我需要 jQuery UI 和 jQuery Mobile 我正在使用 Browserify 将模块打包在一个 js 文件中 我有以下代码将 jQuery 和 jQuery UI 包含在我的项目中
  • Android - 停止线程的最佳且安全的方法

    我想知道在 Android 中停止线程的最佳方法是什么 我知道我可以使用AsyncTask代替它并且有一个cancel 方法 我必须使用Thread在我的情况下 这是我的使用方式Thread Runnable runnable new Ru
  • 在 JavaFX 中强制立即绘制

    有没有办法强制 JavaFX 应用程序在继续之前重新绘制自身 类似于 Swing Panel 的 Paint Graphic g 方法 我可能在那里弄 错了关键字 考虑以下示例 您编写了一个 TicTacToe 应用程序以及计算机玩家所需的
  • Python - 在本地保存请求或 BeautifulSoup 对象

    我有一些代码很长 因此需要很长时间才能运行 我想简单地在本地保存请求对象 在本例中为 名称 或 BeautifulSoup 对象 在本例中为 汤 以便下次可以节省时间 这是代码 from bs4 import BeautifulSoup i