[英]Update a MySQL table from an HTML table with thousands of rows
我在网络上有一个html文件,该文件几乎每分钟都会更新表中的新行。 在任何时候,该文件都包含将近15000行,我想用该表中的所有数据创建一个MySQL表,然后再根据可用数据计算出更多数据。
所述HTML表格包含最近3天的行。 我想将所有这些存储在我的mysql表中,并每小时大约更新一次表(可以通过cron完成吗?)
为了连接到数据库,我使用了运行良好的MySQLdb
。 但是,我不确定这样做的最佳实践是什么。 我可以用刮数据bs4
,使用连接表MySQLdb
。 但是我应该如何更新表格? 我应该使用什么逻辑来抓取使用最少资源的页面?
我没有得到任何结果,只是刮擦和书写。
有指针吗?
我的建议是不要逐行更新值,而是尝试在临时表中使用批量插入,然后根据某个计时键将数据移至实际表中。 如果您有键列,则该键列很适合读取添加的最新行。
您可以采用以下方法:
出于讨论的目的,让master作为抓取数据的最终目的地。 然后我们可以采取以下步骤:
请参考此链接以了解如何在MySQL中执行SET操作。 同样,建议将所有这些逻辑放在存储过程中,然后将要处理的数据集传递给它(不确定这部分在MySQL中是否可行) ,为该方法增加一个步骤 -基于以下讨论,我们可以使用基于时间戳的列来确定需要放入表中的最新行。 如果没有基于时间戳的列,则上述基于SET的操作的方法效果很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.