通过html页面访问数据库是否可行且合法?

时间:2014-11-04 09:35:06

标签: php html mysql web-services

前几天我决定为新南威尔士州澳大利亚开发一个列车时刻表移动应用程序。经过一些研究,我发现他们没有与公众分享他们的数据库,他们没有任何网络服务。我们通过税收支付他们收集我们的信息,但他们不与我们分享这些数据。无论如何,这是道德问题,而不是技术规划问题。

技术问题是,在他们的网站上他们有15条火车线路,每条火车线路都可以看到:

T1 North Shore Line timetable

在打开视图源页面(HTML页面)和查看html表格的几分钟之后,我意识到例如有关一个火车站的信息,例如'Berowra'以这种方式呈现:

<span class="hintText">Berowra</span></td><td>03:40</td><td>---</td><td>---</td><td>04:37</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>05:36</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>05:57</td><td>---</td><td>---</td><td>---</td><td>---</td><td>06:27</td><td>---</td><td>---</td><td>---</td><td>06:57</td><td>---</td><td>---</td><td>07:02</td><td>07:12</td><td>---</td><td>---</td><td>---</td><td>07:27</td><td>---</td><td>---</td><td>---</td><td>07:32</td><td>07:42</td><td>---</td><td>---</td><td>---</td><td>---</td><td>07:57</td><td>---</td><td>---</td><td>---</td><td>08:02</td><td>08:12</td><td>---</td><td>08:24</td><td>---</td><td>---</td><td>---</td><td>---</td><td>08:27</td><td>---</td><td>---</td><td>---</td><td>---</td><td>08:57</td><td>---</td><td>---</td><td>---</td><td>---</td><td>09:27</td><td>---</td><td>---</td><td>---</td><td>---</td><td>09:57</td><td>---</td><td>---</td><td>---</td><td>---</td><td>10:27</td><td>---</td><td>---</td><td>---</td><td>---</td><td>10:57</td><td>---</td><td>---</td><td>---</td><td>---</td><td>11:27</td><td>---</td><td>---</td><td>---</td><td>---</td><td>11:57</td><td>---</td><td>---</td><td>---</td><td>---</td><td>12:27</td><td>---</td><td>---</td><td>---</td><td>---</td><td>12:57</td><td>---</td><td>---</td><td>---</td><td>---</td><td>13:27</td><td>---</td><td>---</td><td>---</td><td>---</td><td>13:57</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>14:27</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>14:59</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>15:29</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>15:59</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>16:29</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>16:59</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>17:29</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>17:59</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>18:30</td><td>---</td><td>---</td><td>---</td><td>---</td><td>---</td><td>19:00</td><td>---</td><td>---</td><td>---</td><td>---</td><td>19:30</td><td>---</td><td>---</td><td>---</td><td>---</td><td>19:58</td><td>---</td><td>---</td><td>---</td><td>---</td><td>20:28</td><td>---</td><td>---</td><td>---</td><td>---</td><td>20:54</td><td>---</td><td>---</td><td>---</td><td>21:24</td><td>---</td><td>---</td><td>21:54</td><td>---</td><td>---</td><td>22:24</td><td>---</td><td>---</td><td>22:54</td><td>---</td><td>---</td><td>23:24</td><td>&#160;&#160;&#160;&#160;</td></tr></table></span>

所以我可以在MySQL数据库中创建表格,并通过解析html标签轻松地从html页面填充这些数据。换句话说,我们可以通过查看html view-source页面来访问任何数据库并解析这些标记。在编写程序来解析这些标签并将数据从html页面传输到MySQL数据库之前,我想确保是否有人有类似的经验,然后才知道如果

  1. 剂量解析视图源页面是否需要权限?
  2. 是否有任何库或模板来解析这些网页而不是写一堆if else和字符串比较?
  3. 是否有任何书面程序将数据从html页面传输到数据库?
  4. 这个想法从html页面传输是否可行?

1 个答案:

答案 0 :(得分:1)

从技术角度来看,用PHP解析html页面并通过PHP XML manipulation functions提取所需信息并不困难。

如果您想进行进一步的研究,请查看web scraping

然而,在http://www.sydneytrains.info/general/copyright它说:

  

本网站包含的材料,包括徽标,文字,图形和照片图像,不受限制,受版权法1968(Cth)和/或1995年商标法(Cth)的版权保护。未经事先书面许可,不得以任何方式处理本网站上的任何材料,包括复制,更改或传播,除非:

     

在必要时偶然查看此材料   互联网网站通过网络浏览器;

     

或根据“版权法”的许可   1968年(联邦)或其他适用法律。

因此,除非获得许可,否则您无法合法地执行此操作,除非根据1968年版权法(Cth)允许,我不知道。