如何使用PHP从动态页面复制内容?

时间:2013-08-02 18:01:28

标签: php bioinformatics ncbi

是否可以使用PHP获取下面给出的页面链接中显示的信息。我希望将页面上显示的所有文本内容复制到变量或文件中。

http://www.ncbi.nlm.nih.gov/nuccore/24655740?report=fasta&format=text

我也尝试了cURL,但它没有用。 cURL与我知道的其他几个网站合作的地方。但即使有cURL的解决方案,也有帖子。我可能尝试了各种可以使用cURL的方法。

2 个答案:

答案 0 :(得分:1)

使用cURL获取页面内容然后解析它 - 提取<pre>部分。

$ch = curl_init();

// Set query data here with the URL
curl_setopt($ch, CURLOPT_URL, 'val=24655740&db=nuccore&dopt=fasta&extrafeat=0&fmt_mask=0&maxplex=1&sendto=t&withmarkup=on&log$=seqview&maxdownloadsize=1000000'); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, '3');
$content = trim(curl_exec($ch));
curl_close($ch);
// show ALL the content
print $content;

$start_index = strpos($content, '<pre>')+5;
$end_index = strpos($content, '</pre>');
$your_text = substr($content, $start_index, $end_index-$start_index);

<强>更新

使用来自@ ovitinho的答案的链接 - 它现在有效:)

答案 1 :(得分:1)

您需要请求表单使用的网址,以便通过javascript显示此结果。

我创建了这个最终网址

http://www.ncbi.nlm.nih.gov/sviewer/viewer.fcgi?val=24655740&db=nuccore&dopt=fasta&extrafeat=0&fmt_mask=0&maxplex=1&sendto=t&withmarkup=on&log$=seqview&maxdownloadsize=1000000

请注意在此请求的第一个链接中使用 24655740

您可以使用cURL。