Php 卷曲-存储网页中的所有内容
我使用此功能将Cookie保存在文本文件中:Php 卷曲-存储网页中的所有内容,php,curl,Php,Curl,我使用此功能将Cookie保存在文本文件中: $cookie_file_path = "".dirname(__FILE__)."/cookie.txt"; // Please set your Cookie File path $fp = fopen($cookie_file_path,'wb'); fclose($fp); $ch = curl_init(); // other curl functions here // curl_setopt($ch, CURLOPT_COOKIEF
$cookie_file_path = "".dirname(__FILE__)."/cookie.txt"; // Please set your Cookie File path
$fp = fopen($cookie_file_path,'wb');
fclose($fp);
$ch = curl_init();
// other curl functions here //
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$loginpage_html = curl_exec ($ch);
curl_close ($ch);
它将cookies保存到与cookie.txt相同的文件夹中,并且在连接时使用相同的cookies
我想将图像、css、脚本和所有内容保存到同一个文件夹中。有什么建议吗 我建议使用php DOM扩展 它与javascript非常相似。您只需循环遍历典型的标记,如
查看DOM手册,它有很多有用的注释。使用递归开关尝试wget首先,我看到您使用fopen和fclose创建文件,您可以使用touch功能 cURL仅用于获取请求页面的内容。然后,您可以解析HTML中的链接,并在循环中使用cURL来获取这些链接 有一个set_opt CURLOPT_文件,它是输出的地方。例如:
<?php
foreach($links as $link){
$file = dirname(__FILE__)."/".basename($link);
touch($file);
// get page
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILE, $file);
$output = curl_exec($ch);
curl_close ($ch);
}
?>
我没有检查代码,但这是你想要的基础。只需使用正则表达式或某些函数即可获得链接。如果您使用的是linux,并且可以使用命令行访问,这是一个非常好的选择。您可以使用PHP填充参数+1,以便放入正确的上下文中。我更喜欢将shell命令直接传递给system、passthru或shell_exec的经典方法;altough popen在多线程和其他方面提供了很大的可能性。