【问题标题】:Grab content from another website daily每天从另一个网站获取内容
【发布时间】:2013-01-17 21:45:55
【问题描述】:

这是我的问题。我正在创建一个具有“新闻”选项卡的网站。我想要的新闻标签是来自另一个新闻网站的更新内容。

有什么方法可以抓取发布在另一个网站上的纯文本,将其发布在我网站的新闻标签上,并在网站发布新内容时自动更新?任何人都可以将我推向正确的方向,以便我可以学习如何做到这一点吗?

我非常了解 HTML,但缺乏 PHP 和 Javascript 技能。为了实现这一目标,我必须学习什么?

【问题讨论】:

  • 另外,其他站点可能有(可能有)他们新闻的 RSS 提要,您可以查看从中获取内容。可能比刮要容易得多。
  • 我认为您必须对其进行投票。就像每 2 分钟左右检查一次,看看最新消息是否与您存储的最新消息相符。如果没有,请添加它。除非您订阅 RSS,我不知道如何以编程方式进行订阅,否则您无法收到推送通知。如果有我不知道的选项,我不会感到惊讶:)
  • 如果有一种非常简单的方法来联合这样的内容,那就太棒了。
  • 您可以使用this tool 轻松废弃html。

标签: html parsing rss sync


【解决方案1】:

查找 Curl... 它在 php.ini 中。 http://php.net/manual/en/book.curl.php

这是一个不错的视频,可能与您想要完成的事情有关。 http://www.youtube.com/watch?v=PvEJz6du7R0

这里还有一些代码,用curl获取网站的源代码。

<?php

$ch = curl_init("http://www.example-webpage.com/file.html");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);
echo $content;

?>

另一种方法是在 div 中使用 iframe...

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">
<!--
#container{
    width:300px;
    height:100px;
    border:1px solid #000; 
    overflow:hidden;
    margin-left:50%;
    margin-top:5%;

}
#container iframe {
    width:1000px;
    height:750px;
    margin-left:-734px;
    margin-top:-181px;   
    border:0 solid;
 }
-->
</style>

</head>
<body>

<div id="container">
<iframe src="http://www.w3schools.com/" scrolling="no"></iframe>
</div>

</body>
</html>

某些网站不允许您对其网站进行 iframe,因此这可能不起作用。例如,您不能 iframe google、youtube、yahoo 等。

希望这会有所帮助:D

【讨论】:

  • 哇,太好了!那个 curl 抓取源代码?如何将源代码过滤为我想要的代码的一部分?我还没有看过视频,但是当我真正使用电脑时,我会在旅途中做这个问题。
  • @BrettMerrifield 先尝试html的方式,所以如果你不知道就不必通过php....只需复制我上面的html代码,并相应地进行矿工调整边距...现在显示“w3schools.com”网站...您要从哪个网站获取内容?
【解决方案2】:

本书有一节演示如何从另一个网站读取数据并使用 PHP 对其进行解析。第 10 章,第 328 页“访问其他网站”。

http://www.amazon.com/PHP-Advanced-Object-Oriented-Programming-QuickPro/dp/0321832183/

但是,如果您是 PHP 新手,那么高级书籍就不是开始的地方。我会推荐以下任何一种方法来帮助您开始这条道路。

http://www.amazon.com/PHP-MySQL-Dynamic-Web-Sites/dp/0321784073/

http://www.amazon.com/PHP-Web-Visual-QuickStart-Guide/dp/0321733452/

您可以使用高级书籍拼凑所需的内容,但使用高级技能的最佳方式是从初学者开始学习!

【讨论】:

  • PHP 是这里最好的解决方案吗?现在我意识到像这样的 PHP 脚本有多么复杂,它无法完成。我的时间余量是 2 周,我将无法完成。我必须用一个简单的 RSS 代替吗?我该怎么做这样的事情?
【解决方案3】:

您需要使用 file_get_contents 并解析 html 以获得所需的内容。如果您希望它定期更新,您需要在“cron 任务”上运行此脚本。

如果新闻站点有 RSS 提要,您可以改为解析它,更有效地使用 SimpleXML

【讨论】:

  • 我不明白,除了 html/css 之外,我没有受过任何教育。
  • @BrettMerrifield 那么也许你应该在尝试这样的事情之前尝试学习 PHP 的基础知识......
  • 哦,好的,我如何检查 rss 提要?新闻网站上应该有一个类似RSS的按钮吧?
猜你喜欢
  • 1970-01-01
  • 2015-05-02
  • 1970-01-01
  • 1970-01-01
  • 2012-07-11
  • 2011-03-12
  • 1970-01-01
  • 2015-01-07
  • 2018-10-16
相关资源
最近更新 更多