|
|
|
ต้องการตัดเอาเฉพาะข้อมูลบางส่วนที่ต้องกาจากการดึงหน้าเว็บ |
|
|
|
|
|
|
|
รบกวนสอบถาม พี่ ๆ ช่วยดูโค้ดให้หน่อยนะคะ ต้องการดึงข้อมูลจากเว็บแล้วตัดหัวข้อออก กำหนดให้ดึงเฉพาะข้อมูลที่เราต้องการ คือตอนนี้สามารถดึงข้อมูลได้แล้วคะ แต่มันมีหัวข้อด้วยอยากให้มันตัดเหลือแต่เนื้อหาอ่ะคะ รบกวนด้วยนะคะ ขอบคุณคะ
Code (PHP)
include('C:\AppServ\simple_html_dom.php');
$urlWithoutProtocol = "http://www.su.ac.th/html_news/news_template.asp?id=5660";
$request = "";
$isRequestHeader = false;
$exHeaderInfoArr = array();
$exHeaderInfoArr[] = "Content-type: text/xml";
$exHeaderInfoArr[] = "Authorization: "."Basic ".base64_encode("authen_user:authen_pwd");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlWithoutProtocol);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_HEADER, (($isRequestHeader) ? 1 : 0));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if( is_array($exHeaderInfo) && !empty($exHeaderInfo) )
{
curl_setopt($ch, CURLOPT_HTTPHEADER, $exHeaderInfo);
}
$response = curl_exec($ch);
curl_close($ch);
$html = str_get_html($response);
$elem = $html->find('table td.ms09', 0)->plaintext;
echo $elem;
Tag : PHP
|
|
|
|
|
|
Date :
2012-05-23 22:25:41 |
By :
Butterney |
View :
2724 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าดึงข้อมูลได้แล้ว ข้อมูลของหน้านั้นจะอยู่ในตัวแปร $html ใช่ไหมครับ
มันต้องพยายามหน่อยครับ ในการตัดข้อความไม่ต้องการออก ไม่ใช่ว่ามันจะมีสูตรสำเร็จ
ขั้นตอนก็คือ print html ออกมาดู แล้ว viewsource หาตำแหน่ง code html ช่วงที่ต้องการ แล้วเลือก ตัดเอาเฉพาะช่วงที่ต้องการ
เช่น
Code (PHP)
<html>
<title>
<head>ทดสอบ</head>
</title>
<body>
<table>
<tr><td>หัวข้อ</td></tr>
<tr><td>เนื้อหา1</td></tr>
<tr><td>เนื้อหา2</td></tr>
</table>
</body>
</html>
เราอยากได้ตรงบรรทัด เนื้อหา 1 - 2 เราก็ต้องดูว่าก่อน เนื้อหา 1 2 มันมีอะไรอยู่บ้าง ในตัวอย่างมันง่ายมี <table> ให้เห็น
เราก็เลือก ตรงนี้ตัดทิ้งไปก่อน แบบถึกนะครับ (แตกต่างจากท่านข้างบน)
ใช้ explode ก็ได้ โดยเลือก $html_x = explode("<tr><td>หัวข้อ</td></tr>",$html);
ตอนนี้ html_x[0] จะเป็นค่าตั้งแต่<html> มาถึง <table>
ส่วน html_x[1] จะมีค่าตั้งแต่ <tr><td>เนื้อหา1</td></tr> ถึง </html>
เราก็เอา html_x[1] มาตัดแบบเดิม โดยเล็งว่าต้องตัดส่วนไหนออก ไปเรื่อยๆ จนเหลือช่วงข้อมูลที่ต้องการเท่านั้นครับ
เหนื่อยหน่อยนะดึงข้อมูลที่อื่นมาแสดงเป็นข้อมูลตัวเองนะครับ
โฮสติ้ง
|
|
|
|
|
Date :
2012-05-24 05:57:00 |
By :
ekaja |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|