php - 网络抓取转化率并绘制图表

标签 php sql web-crawler currency roblox

<分区>

我需要一种方法来跟踪和记录 Roblox 上的假货币的兑换率.我认为 javascript 适用于跟踪部分,但是,我还想将该数据记录在电子表格中,并在数据输入时创建一个刷新图表。图表的分辨率最多为 5 秒间隔。如果您查看下面的 Roblox 转换页面,您可以看到其他人将他们的 robux 或 tix 交易为 robux 或 tix 的当前头寸。该页面显示其他人的最高交易头寸。我只想跟踪交易货币页面上显示的每列顶部的转换率。

如果我要创建一个程序本地存储在我的计算机上,我应该使用什么语言/程序来完成它?另外,如果我要托管服务器(使用我的树莓派或免费托管服务),我应该使用什么语言/脚本来完成这个任务?最后,如果我要把它变成一个在线的东西(用我的 R-Pi 或免费托管),我想通过浏览器访问图形,无论是在我的网络上还是在互联网上(我之前在创建时做过我的 R-Pi 的网站)。

感谢您花时间阅读, 卡梅伦

Link to the conversion rate page

编辑:我现在知道如果不使用帐户(免费)登录就无法看到交易货币页面。你可以看到一个图像here和一个维基页面 here .我决定使用 Bubby4j 的答案,它为我提供了一个有用的系统,该系统已经完成了我的要求。我现在只需要修复它(因为它可能已经过时)并让它在服务器上运行。

最佳答案

我不确定 roblox 的性质,但是你在这里描述的是 web-crawling ,因此为了实现这一点,没有一种语言,大多数都是合适的。我首先要做的是检查天气 roblox 是否提供任何可用的 API这些文件可以帮助像您这样的开发人员以更友好的方式获取您需要的数据,例如 JSON您可以轻松地使用任何语言。 如果 API 不可用,您可以尝试以 plain text 的形式获取数据使用各种工具,例如 curltext based web-browsers为了确定天气,html 解析器就足够了,或者网站需要更高级的东西,例如 javascript interpeter ,还有这样的 headless 浏览器,例如 phantomjs (也可以像 curl 一样使用命令行,具有完整的 js 支持)。最好将自己限制在只获取页面、解析 html 和获取所需数据,而不是使用完整的 headless 浏览器解决方案,例如 phantomjs,因为后者有可能减慢速度并且通常更复杂。

为了简单起见,既然你提到你的最终结果是制作一个服务于数据的网络服务器,我会采用以下方式:

  1. 安装 lemp ( linux nginx mysql php ) 或 lamp ( linux apache mysql php ) 堆栈。只需使用您最喜欢的包管理器将其下载到您的 Linux 机器中即可。

  2. 由于最终结果是一个 Web 服务器,您可能希望使用我上面提到的包中开箱即用的 php: 如果有 API ,它就像获取支持的 API 的页面并运行 JSON 一样简单/XML解析它并使用数据。 但是如果没有api 首先使用 curl 在 php 中获取页面或 file get contents php 中可用的函数,然后尝试使用任何可用于 PHP 的 HTML 解析器解析页面,例如 SIMPLE DOM PARSER .

以上步骤是为了防止您不需要深入了解成熟浏览器的复杂性,但如果您这样做,您应该在 phantomjs 中找到舒适感并尝试使用它 standalone(javascript)获取您的数据,或尝试查找 php interface to communicate with phantomjs在谷歌。他们的方法步骤相似:获取页面并解析其中的 html 以获得所需的数据。

  1. 由于您已经在网络服务器 (lemp/lamp) 中,您实际上已经能够在线向您的设备展示网页。所以简单地执行第 2 步,保存到数据库(mysql)并生成一个符合您需要的页面。注意 php 仅在用户加载它所在的页面时运行,因此如果您需要定期检查,只需使用 cron jobsschedule tasks在特定时间重新运行您的 PHP 脚本。

注意 1:上述步骤非常笼统,因为您没有在此字段中指定您的背景。 这些步骤简单地描述了网络抓取的一般工作原理。

注意 2:如果您希望在您的网络之外访问您的服务,为了做到这一点,您应该在 port 80 配置(通常是默认设置)您的网络服务器 (lemp/lamp)然后你应该为你的用户提供你的外部ip address . 如果您的 ip 是动态变化的,您可以使用免费服务,例如 NO-IP或者也许 this . 还有其他更复杂的解决方案,例如租用域名。

关于php - 网络抓取转化率并绘制图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27727146/

相关文章:

python - 使用 Selenium Python 将数据收集为元组

header 处 Javascript 中的 PHP 循环 - 此代码是否有效?

php - 获取具有共同 parent 的所有行

mysql - 用于连接但不在其他表中的 SQL 语句

sql - 如何处理 Sql server CREATE TABLE 数据库名称中的空格?

php - 带有内部选择查询的 MySQL 搜索

python - 如果我必须为Python选择一个html抓取库,我应该选择哪一个

java - 仅抓取 HTML 页面,同时检查响应 header

PHP - DynamoDB - 唯一键

php - 使用 SQL 查询获取所有 Magento 类别