Php 将内容从网站加载到MATLAB,包括内部框架(iframe)

Php 将内容从网站加载到MATLAB,包括内部框架(iframe),php,html,matlab,iframe,Php,Html,Matlab,Iframe,我在MATLAB中使用urlread加载网站内容,然后搜索这些内容以供进一步使用 然而,我遇到了一个网站,我需要的内容位于一个特定的内部框架中,该框架通过嵌入index.php 当我将urlread与似乎嵌入到主文件中的文件的url一起使用时,我仍然只获取index.php的内容,而不是targetframecontent.php的内容 我猜urlread可能不是用于此目的的正确工具,或者我可能忽略了使我的尝试失败的其他因素。 有没有办法将这种内部框架的内容输入MATLAB 编辑:更精确一点:

我在MATLAB中使用
urlread
加载网站内容,然后搜索这些内容以供进一步使用

然而,我遇到了一个网站,我需要的内容位于一个特定的内部框架中,该框架通过
嵌入index.php

当我将
urlread
与似乎嵌入到主文件中的文件的url一起使用时,我仍然只获取index.php的内容,而不是targetframecontent.php的内容

我猜
urlread
可能不是用于此目的的正确工具,或者我可能忽略了使我的尝试失败的其他因素。 有没有办法将这种内部框架的内容输入MATLAB


编辑:更精确一点:

我通常会使用以下内容在我的MATLAB工作区中阅读网站内容:

data = urlread('http://[...]index.php')
但是这样做,我只得到父index.php的内容,而不是嵌入的targetframecontent.php的内容。我在浏览网站源代码时发现,网站中包含我感兴趣的内容的部分被加载到一个框架中,其中包含:

<iframe src="http://[...]targetframecontent.php" width="850px" height="1000px" border="0" frameborder="0"></iframe>

因此,我尝试将
urlread
直接用于特定目标框架中加载的url

然而,当我这样做的时候,我仍然得到了相同的内容,就好像我仍然在加载index.php一样。 因此,每当我尝试使用targetframecontent.php的直接url时,它似乎会将
urlread
重定向回index.php。这也是我尝试在浏览器中加载targetframecontent.php时发生的情况

谢谢你的帮助

它看起来像是检查HTTP请求的引用者。使用
wget
,如果您通过
--referer
选项,您可以下载

$ wget --referer="http://www.sf.tv/sfmeteo/lokalprognosen/index.php?q=Gen%C3%A8ve" -O test_ref "http://www.sf.tv/sfmeteo/lokalprognosen/detailprognose.php?id=&q=Gen%C3%A8ve&max=&drs=0&kiosk=&js=&deeplink=&f="
$ cat test_ref
[...]
<body class="sf">

<!-- referrer:http://www.sf.tv/sfmeteo/lokal -->

    <script type="text/javascript"> <!-- 
        var keineprognose = '0'; 
        // -->
    </script>   


<p class="inv">
    <a href="#anker_cm">zum Inhalt</a><br />
</p>
这是原始的父页面

因此,要将其引入MATLAB,需要设置
Referer
HTTP头。不幸的是,现在我面前没有MATLAB,但这一页似乎很好地介绍了如何使用MATLAB HTTP请求发送头:


编辑:因为它在该页面上不是非常明显,这里有一个指向
urlread2
函数的链接,其中还包括一些示例:

urlread
将只获取您提供的任何URL。如果在浏览器中打开iframe的URL,是否会获得嵌入的内容?如果无法预测“targetframecontent.php”的URL,则需要手动解析目标。MATLAB可能不是最好的语言…你能用另一种语言下载内容并手动将其输入MATLAB吗?如果我打开目标帧的url,我仍然可以访问main index.php。我好像被自动重定向到了那里。你能分享你试图从中提取信息的页面的URL吗,还是它是内部的?听起来他们好像在耍花招。是一个例子谢谢!我花了一段时间才弄明白到底该怎么做,但经过几次尝试,终于成功了。下面是我如何使用
urlread2
及其助手函数
http\u createHeader
的结尾:
header=http\u createHeader('referer'),'http://www.sf.tv/sfmeteo/lokalprognosen/index.php?q=Gen%C3%A8ve')data=urlread2('http://www.sf.tv/sfmeteo/lokalprognosen/detailprognose.php?q=Gen%C3%A8ve“,”标题)
wget -O test_noref "http://www.sf.tv/sfmeteo/lokalprognosen/detailprognose.php?id=&q=Gen%C3%A8ve&max=&drs=0&kiosk=&js=&deeplink=&f="
 <body class="sf" role="application">

<p class="inv">
    <a href="#anker_cm">zum Inhalt</a><br />
</p>
<!--googleoff: all-->    <div id="HEADWRAP" class="sf-header">
  <div class="INNERWRAP">
    <h1 class="inv">SF Schweizer Fernsehen - Navigation</h1>