안녕하세요. 한 번 긁어 내면 MySQL에 데이터를 저장하는 방법을 알아 보려고합니다. 전달하는 데이터가 올바른 형식이 아니기 때문에 데이터베이스에 아무 것도 삽입하지 않습니다. json을 통해 게시해야합니까? 당신은 데이터를 폐기하고 올바르게 테이블을 생성하는Simple Dom Parser로 mysql에 cURL 데이터를 삽입하는 데 문제가 있습니다.
<head>
<link rel="stylesheet" href="styles.css" type="text/css">
</head>
<?php
//echo phpinfo();
//include the php class to get the div content
include_once('simple_html_dom.php');//http:
include_once('dbconn.php');
//the name of the curl function
function curl_get_contents($url){
//Initiate the curl
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//removes the header of the webpage
curl_setopt($ch, CURLOPT_HEADER, 0);
//do not display the whole page
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//execute the curl
$output = curl_exec($ch);
//close the curl so that resources are not wasted
//curl_close($ch);
return $output;
ini_set('max_execution_time', 3000); //300 seconds = 5 minutes
}
$output = curl_get_contents('http://www.lockweb.com.au/en/site/lockweb/Products/? groupId=469&productId=135');
// Get the complete html from the address
$html = str_get_html($output);
//get the title
$title = $html->find('div.content-wide[id=content]', 0);
$description = $html->find('div[class="tab-content content-wide selected"]',0);
$spec = $html->find('div[class="tab-content content-wide"]',0);
$moreinfo = $html->find('div[id=downloadsitem]',0);
$image = $html->find('div.product-presentation',0);
$echoHTML = "<table border=1 align=center>";
$echoHTML .="<tr>";
/* adding rows header to table */
$echoHTML .="<th>Title</th>";
$echoHTML .="<th>Description</th>";
$echoHTML .="<th>Specifications</th>";
$echoHTML .="<th>MoreInfo</th>";
$echoHTML .="<th>Image/s</th>";
$echoHTML .="</tr>";
$echoHTML .="<tr>";
$echoHTML .="<td>".$title->plaintext."</td>";
$echoHTML .="<td>".$description->plaintext."</td>";
$echoHTML .="<td>".$spec."</td>";
$echoHTML .="<td>".$moreinfo."</td>";
$echoHTML .="<td>".$image."</td>";
/* end of table */
$echoHTML .= "</table>";
echo $echoHTML;
//trying to insert the data into the database
$q= ("INSERT INTO `lockwood`.`products` (
`Title` ,
`Descr` ,
`Spec` ,
`more info` ,
`image` ,
`id`
)
VALUES (
'$title', 'teat', 'test', 'test', 'test', NULL"
);
?>
PDO::quote() cURL을의 FUNC의 작품을 사용,하지만 난 나머지를 테스트하기 위해 간단한 DOM을 가지고 있겠지. 스크랩 프로세스에서 데이터를 가져 왔는지 확인하십시오 ('var_dump '로 화면에 덤프하십시오). – gwillie