我有此代码及其工作,但是..它将“中国的膳宿条件”保存为“快速”并保存在我在www的中间部分看到的html文件中。在此www上花费更多的时间,并且在全部加载到www上之后将其保存到文件中?
<pre><?php
$file = fopen("brawl2.html", "w");
$c = curl_init();
curl_setopt($c, CURLOPT_URL, "https://brawlstats.com/club/8LG08L");
curl_setopt($c, CURLOPT_FILE, $file);
curl_exec($c);
curl_close($c);
fclose($file);
?>
感谢帮助!
答案 0 :(得分:1)
Curl不是模拟浏览器,它只是从服务器下载单个文件,因此它将永远不会加载这些图像。
在HTTP中,用户代理(通常是浏览器,但在这种情况下为let rows_count = rows
.for_each(|row| parse_row(&row))
.fold(0, |acc, a| futures::future::ok(acc + 1))
.wait()
.unwrap();
库)发送对特定资源(URL)的请求;然后,服务器会执行所需的任何操作,然后返回响应;然后您就完成了。
在您的情况下,服务器正在响应一个包含一些JavaScript的HTML页面。当由浏览器加载时,此JavaScript将运行并加载图像。但curl
不是浏览器,因此不会运行此JavaScript。
有些库确实可以模拟浏览器,因此可以运行它。它们被称为“无头浏览器”,并且快速搜索打开了this attempt at a comprehensive list。
还值得记住的是,即使运行JavaScript,图像也可能不是HTML的一部分,而是对其他文件的引用。如果您不保存这些内容,那么拔出Internet时,保存的HTML将不会显示任何图像,因此您可能还需要考虑如何归档显示页面所需的所有资源,不只是页面本身。