【发布时间】:2013-07-30 06:33:02
【问题描述】:
我在网络上有一个 html 文件,它几乎每分钟都会更新表格中的新行。在任何时候,该文件都包含近 15000 行我想创建一个 MySQL 表,其中包含表中的所有数据,然后我从可用数据中计算出更多数据。
上述 HTML 表格包含过去 3 天的行。我想将它们全部存储在我的 mysql 表中,并每隔一小时左右更新一次表(这可以通过 cron 完成吗?)
为了连接到数据库,我使用MySQLdb 工作正常。但是,我不确定这样做的最佳做法是什么。我可以使用bs4 抓取数据,使用MySQLdb 连接到表。但是我应该如何更新表格?我应该使用什么逻辑来抓取使用最少资源的页面?
我没有获取任何结果,只是抓取和写入。
请指教一下?
【问题讨论】:
-
你写过代码吗?您的架构中的示例也会有所帮助!
-
我所拥有的所有代码是,抓取 HTML 表格行,并将它们一次写入一个表格。但是,我真正担心的是更新表和性能问题。
-
制作一个输出 CSV 的刮刀。然后使用 LOAD DATA INFILE 或类似方法将 CSV 加载到 mysql 中。此外,如果您在提交使用数据之前需要进一步过滤或监控事物,那么使用单独的表进行上传,然后执行 INSERT/SELECT 进行复制,可能是可取的。
-
我会先做一个临时实现,对其进行基准测试,并在必要时重写以优化。在你有事情担心之前不要担心!
-
@Paul 我不必写入任何文件。一切都必须独立运行,不需要任何其他层。
标签: python mysql beautifulsoup mysql-python