目標:我想使用cURL在iframe中刮掉「Paris」一詞。如何使用cURL刮取iframe內容
假設你有一個包含iframe一個簡單的頁面:
<html>
<head>
<title>Curl into this page</title>
</head>
<body>
<iframe src="france.html" title="test" name="test">
</body>
</html>
iframe的頁面:
<html>
<head>
<title>France</title>
</head>
<body>
<p>The Capital of France is: Paris</p>
</body>
</html>
我捲曲腳本:
<?php>
// 1. initialize
$ch = curl_init();
// 2. The URL containing the iframe
$url = "http://localhost/test/index.html";
// 3. set the options, including the url
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// 4. execute and fetch the resulting HTML output by putting into $output
$output = curl_exec($ch);
// 5. free up the curl handle
curl_close($ch);
// 6. Scrape for a single string/word ("Paris")
preg_match("'The Capital of France is:(.*?). </p>'si", $output, $match);
if($match)
// 7. Display the scraped string
echo "The Capital of France is: ".$match[1];
?>
結果=什麼!
有人能幫我找出法國的首都嗎?! ;)
我需要的例子:
- 解析/斂iframe網址
- 捲曲URL(因爲我已經與index.html頁面完成)
- 解析的字符串「巴黎」
謝謝!
這不是一個cURL腳本,它是一個PHP腳本。不要將它與圖書館混淆。不要用正則表達式解析HTML! – sidyll
我沒有看到您加載iframe的部分。你首先必須刮掉索引頁面的任何iframe,然後加載和刮擦每一個。 (ps按[此問題](http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php)你應該使用[DOMDocument-> loadHTML()](http:// docs .php.net/manual/en/domdocument.loadhtml.php)用PHP解析HTML而不是正則表達式) – CanSpice
你喜歡,接受任何答案嗎? – FailedDev