【问题标题】:Php copy website table [duplicate]php复制网站表[重复]
【发布时间】:2012-09-14 18:33:15
【问题描述】:

可能重复:
HTML Scraping in Php

远非网络开发专家,如果我遗漏了一些基本知识,请提前道歉:

我需要使用 PHP 将一个表复制到 mySql 数据库中;该表位于我不拥有的网站中,但我有权复制和发布。

当我在我的网络浏览器中手动观看这个网站时,我需要点击主网站 URL 中的一个链接(我无法到达最终目标页面链接,因为它一直在变化,但是主页面链接是静态的并且点击的链接也是静态的)。

我需要从中复制的此类内容的示例(只是一个示例,这不是真正的内容): http://www.flightstats.com/go/FlightStatus/flightStatusByAirport.do?airportCode=JFK&airportQueryType=0

【问题讨论】:

  • 和标准问题 - 你试过什么?
  • 只是因为你需要一些东西,这还不是问题。你的具体问题是什么?您遇到的第一个问题是在哪一部分,您想知道什么?或者您想学习如何构建刮板?
  • 感谢您的评论。我试过看 Selenium 和一些用于网页抓取的 Wordpress 插件,然后我自己宽泛地问了一个一般性问题——因为现在执行这样微不足道的任务不可能那么复杂,我相信只是我找不到现有的解决方案(不需要重新发明)。这是我向您寻求帮助的地方,为此类任务推荐合适的平台。在此先感谢...

标签: php mysql web-scraping


【解决方案1】:

大多数人会问你尝试了什么。既然您提到您没有太多的开发经验,这里有一些关于如何去做的提示 - 必须将其作为答案,以便于阅读。

你需要做的是刮。

使用 PHP,你至少会使用以下函数

file_get_contents() - 此函数将读取 URL 中的数据

preg_match_all - 使用正则表达式可以让你得到你正在寻找的数据。虽然有些/很多人会说你应该通过 DOM。

使用 preg_match_all 返回的数据可以存储到您的 MySQL 表中。尽管由于数据变化如此频繁,您最好只抓取该部分并将整个表存储为缓存(尽管我不得不说我不知道​​您要在您的网站上做什么 - 所以我很可能会错了)。

【讨论】:

  • -1 for preg_match_all,对不起。
  • @vascowhite Ha - 当然 - 我预料到了。 :)
  • DOM!。 :)
  • 谢谢你们的回复。指向 DOM 的链接指的是 XML 解析,我猜你的意思是 HTML DOM?我会试一试,谢谢。
猜你喜欢
  • 1970-01-01
  • 2014-01-02
  • 2014-03-05
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 2013-01-23
相关资源
最近更新 更多