запись файла CVS с использованием массива и документа dom в php - PullRequest
0 голосов
/ 25 января 2012

Я использую этот код для удаления amazon.com

$ch = curl_init(); // create a new cURL resource
$url='http://www.amazon.com/s/ref=sr_pg_1?rh=n%3A133140011%2Ck%3Aenglish+literature&sort=paidsalesrank&keywords=english+literature&ie=UTF8&qid=1327432144';


// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$data = curl_exec($ch); // grab URL and pass it to the browser
//echo $data; ok till now
curl_close($ch); 



$dom = new DOMDocument();
@$dom->loadHTML($data); // avoid warnings
$xpath = new DOMXPath($dom);



//getting titles

$book_t = $xpath->query('//div[@class="title"]/a[@class="title"]');
foreach ($book_t as $tag) {

   print_r(trim($tag->nodeValue));
   echo '<br/>';
 }



$author = $xpath->query('//div[@class="title"]/span[@class="ptBrand"]');
foreach ($author as $tag) {

    echo '<br/>';
   //print_r($tag->nodeValue);
   $s=$tag->nodeValue;
   print_r(str_replace('by ', '', $s));
   echo '<br/>';
 }

До этого шага, я в порядке, теперь я хочу сохранить это в CSV-файл, но я не знаю, какможет кто-нибудь, пожалуйста, помогите мне?как я должен кодировать это?если вы предоставите мне код, мое обучение будет лучше.

также, нуждается ли этот код в улучшении?если да, то как?

1 Ответ

0 голосов
/ 25 июня 2016

есть функция fputcsv ... вы можете использовать ее так:

<?php 
$list = array (
   array('aaa', 'bbb', 'ccc', 'dddd'),
   array('123', '456', '789'),
   array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');//your file csv

foreach ($list as $fields) {
  fputcsv($fp, $fields);
}

fclose($fp);
?>

каждый массив в списке массивов будет строкой в ​​файле CSV ..

...