2014-11-04 62 views
0

几天前,我决定为NSW澳大利亚开发火车时刻表移动应用程序。经过一番研究后,我发现他们不与公众分享他们的数据库,他们没有任何网络服务。我们通过纳税支付他们收集我们的信息,但他们不会与我们分享这些数据。无论如何,这是道德问题,而不是技术编程问题。通过html页面访问数据库可行吗?

技术问题是,在他们的网站上,他们有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. 有没有任何库或模板来解析这些网页,而不是写一堆如果其他和字符串比较?
  3. 是否有任何书面程序将数据从html页面传输到数据库?
  4. 这是从html页面传输的想法是否可行?
+1

这个问题似乎是无关紧要的,因为它涉及法律问题和抽象原则。 – 2014-11-04 11:41:59

回答

1

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

如果您想进行进一步的研究,您要做的就是web scraping

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

包含在该网站上,包括徽标,文本,图形和照片图像的材料是没有限制,根据版权法1968(联邦)和受版权保护的/或1995年商标法(Cth)。未经事先书面许可,不得以任何方式处理本网站中的材料,包括复制,更改或传输,但以下情况除外:

必要时偶尔通过网络浏览器查看此网站上的材料;

或根据版权法 1968(Cth)或其他适用法律的许可。

因此,除非获得1968年版权法(Cth)的许可,否则您不能在法律上做到这一点,但我不知道。