2009-02-24 70 views
-1

如何查詢某個網站的某些字段,並使用php將結果提交到我的網頁?網站查詢,php

讓我們說網站xyz.com會給你這個城市的名字,如果你給他們的郵政編碼。我如何在php中獲得這個easliy?任何代碼快照都會很棒。

+0

魔鬼在細節。請添加更多關於您想要完成的具體信息。 – 2009-02-24 19:23:11

+0

xyz.com「給你」這個城市的名字是什麼意思,以及你如何「給」一個郵政編碼?他們有API嗎?還是僅僅通過獲取/發佈請求? – localshred 2009-02-24 21:25:27

回答

4

如果我明白你的意思(你想查詢提交給網站,得到的結果回來處理等?),你可以使用cURL

這裏是一個example

<?php 
    // create curl resource 
    $ch = curl_init(); 

    // set url 
    curl_setopt($ch, CURLOPT_URL, "example.com"); 

    //return the transfer as a string 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    // $output contains the output string 
    $output = curl_exec($ch); 

    // close curl resource to free up system resources 
    curl_close($ch); 
?> 

你可以用一些像這樣的正則表達式搶緯度/龍從this site

if (preg_match_all("#<td>\s+-?(\d+\.\d+)\s+</td>#", $output, $coords)) { 
    list($lat, $long) = $coords[1]; 
    echo "Latitude: $lat\nLongitude: $long\n"; 
} 

只要把該curl_close()函數之後。 ,將返回這樣的事情(數字改變):

Latitude: 53.5100 
Longitude: 60.2200 
+0

但是這帶來了整個頁面,我只需要從該網站的具體信息,我將如何做 – hitek 2009-02-24 20:03:18

1

你的意思是這樣的:

包括 'http://www.google.com?q=myquery'; ?或者你想獲得哪些領域?

你能成爲一個更具體一點請:)

+0

假設網站xyz.com會給你的城市名稱,如果你給他們的郵政編碼。我怎樣才能使這種簡單?任何代碼快照都會很棒。 – hitek 2009-02-24 19:22:17

0

如果您希望將HTML導入到你的網頁,並分析它,你可能想使用捲曲。 您必須將擴展加載到您的頁面(它通常是PHP的一部分_我認爲它已被編譯?手冊可以回答)

這是一個捲曲函數。設置你的網址,如

$ param ='fribby';

$ param2 ='snips';

$ url =「www.example.com?data=$param & data2 = $ param2」;

function curl_page($ url) { $ response = false; $ ch = curl_init($ url); curl_setopt($ ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ ch,CURLOPT_FAILONERROR,true); curl_setopt($ ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ ch,CURLOPT_TIMEOUT,30); $ response = curl_exec($ ch); curl_close($ ch); 返回$ response; }

$ page_data = curl_page($ url);然後,你可以使用DOM解析或grep/sed/awk類型的東西,從頁面中獲取數據。

1

可以使用的file_get_contents(和其他類似的fopen級功能)做到這一點:

$result = file_get_contents("http://other-site.com/query?variable=value");