如何解决将多个参数传递给cmd
我一直在研究一个程序,该程序将抓取以下网站-https://filmstoon.in/
到目前为止,我设法使代码采用变量(使用$argv
)并将电影与电影分开。但是,我希望我的代码一次接受多个参数并执行代码。
因此,如果我输入php final.php "iron man" "spider man" "expendables 3"
,它将执行代码。代码:
include ("simple_html_dom.php");
ini_set('max_execution_time',0);
date_default_timezone_set('Europe/Vilnius');
$linkMovies = "https://filmstoon.in/?s=".getArgumentValues($argv,"+");
$linkSeries = "https://filmstoon.in/series/".getArgumentValues($argv,"-");
//argv with sepe
function getArgumentValues($argv,$seperator){
$values = "$argv[1]";
foreach($argv as $key=>$value){
if($key>1){
$values.="$seperator$value";
}
}
return $values;
}
//Movies
function get_content_movies($linkMovies,$argv){
$htmlContent = file_get_contents($linkMovies);
$argvValue = getArgumentValues($argv," ");
if(!preg_match("/href\=\"(.*?)\".*?oldtitle\=\"$argvValue/i",$htmlContent,$search)){
return null;
};
$key = array_values($search)[1];
$htmlContent = file_get_contents($key);
if(preg_match("/series/",$key)){
main();
}
else{
preg_match('/\<h3 itemprop\=\"name\"\>(.*)<\/h3>/iSU',$title);
preg_match('/<iframe.*data-lazy-src=\"(.*)\".*><\/iframe>/iSU',$embed_url);
preg_match('/<meta.*property="og:url".*content="(.*)".*\/>/iSU',$meta_url);
$date = date('m/d/Y H:i',time());
echo "{$date} \t {$embed_url[1]} \t {$meta_url[1]} \t {$title[1]} \n";
$result = array($date,$embed_url[1],$meta_url[1],$title[1]);
$output = 'scrape.txt';
file_put_contents($output,print_r($result,true),FILE_APPEND);
}
}
get_content_movies($linkMovies,$argv);
//TV Series
class episode{
private $title;
private $host_url;
private $linking_url;
public function setTitle($title){
$this->title = $title;
}
public function getTitle(){
return $this->title;
}
public function setHost_url($host_url){
$this->host_url = $host_url;
}
public function getHost_url(){
return $this->host_url;
}
public function setLinking_url($linking_url){
$this->linking_url = $linking_url;
}
public function getLinking_url(){
return $this->linking_url;
}
}
function main(){
$array_url = getting_url();
foreach($array_url as $single_link){
$episodeObject = info_from_linking($single_link);
echo_to_server($episodeObject->getLinking_url(),$episodeObject->getHost_url(),$episodeObject->getTitle());
writeToFile($episodeObject->getLinking_url(),$episodeObject->getTitle());
}
}
function getting_url(){
global $linkSeries;
$html = file_get_html($linkSeries);
$array_url = array();
foreach($html->find('.les-content a') as $divClass) {
$linking_url = $divClass->href;
array_push($array_url,$linking_url);
}
return $array_url;
}
function info_from_linking($episode_link){
$inside_linking = file_get_html($episode_link);
$mainDiv = $inside_linking->find('div[class="main-content main-detail"]')[0];
$title = $mainDiv->find('h3[itemprop="name"]',0)->plaintext;
$host_url = $mainDiv->find('iframe',1)->src;
$class = new episode;
$class->setTitle($title);
$class->setHost_url($host_url);
$class->setLinking_url($episode_link);
return $class;
}
function echo_to_server($linking_url,$host_url,$title){
$date = date('m/d/Y H:i',time());
echo "{$date} \t {$linking_url} \t {$host_url} \t {$title} \n";
}
function writeToFile($linking_url,time());
$result = array($date,$linking_url,$title);
$output = 'scrape.txt';
file_put_contents($output,FILE_APPEND);
}
仅供参考,因为这是一项自我改进的教育工作(我对编程还很陌生),所以我将dom解析和regex一起使用只是为了对其进行测试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。