۱۶-تير-۱۳۹۳, ۲۰:۱۷:۵۱
همونطور که میدونید گوگل هم مثل خیلی شرکتهای کوچیک و بزرگ دیگه؛ برای استفاده از محصولاتش داخل برنامهها یکسری api داره؛ که البته این بحث جدیدی نیست
با استفاده از این api ها میتونیم به انواع امکانات گوگل که در اختیارمون قرار میده دسترسی پیدا کنیم؛ مثل گوگلمپ و نتایج جست و جو و . . .
توی این تاپیک هدف اینه که باد بگیریم چطوری از نتایج جستوجوی گوگل توی برنامههامون استفاده کنیم؛ برای اینکار احتیاج به هیچ ثبت نام و .. نیست؛ فقط باید بتونیم یه درخواست در قالب http به سرور گوگل بفرستیم و نتایج برگشت از اونو که به فرمت json هستند رو تجزیه کنیم
روش کار سادست؛ باید پارامتهای خودمون رو به روش GET به سرور زیر ارسال کنیم:
و نتایج رو بخونیم!!!
روش GET هم که سادست! کافیه بعد از url مورد نظر یک علامت سوال "؟" بذاریم
و یعد از اون "نام" پارامتر و یعد یک مساوی "=" و سپس مقدارشو بنویسیم
و اگه پارامتر دیگهای داریم یک "&" میذاریم و دوباره مرحله قبل رو تکرار میکنم
پارمترهای ضروریای که گوگل از ما میخواد فقط ۲ پارامتر هست! یکی پارامتر q که عبارت مورد جست و جو رو مشخص میکنه؛ و دیگری پارامتر v که ورژنی قصد استفاده رو داریم مشخص میکنیم که مقدارش رو برابر 1.0 قرار میدیم؛
برای مثال:
قسمت اول این url که آدرسمون هست:
و بعد برای ارسال پارامکترها همونطور که گفتم یک عدد علامت سوال میذاریم
و بعد پارمتر q رو مینویسم و بعد از علامت سوال عبارتی که میخواییم سرچ کنیم رو مینویسیم! (که اینحا من میخواستم عباریت salam رو سرچ کنم)
و بعد علامت & رو میذاریم که یعنی مشخص میکنیم پارمتر هامون ادامه داره
و بعد پارمتر v با مقدار ۱.۰
خروجی این دستور این شکلیه:
که با Json پارسر باید اونو پردازش کنید؛
نتایح داخل آبجکت responseData زیر آبجکت results هست؛ هر results ای شامل یک آبجکت دیگهای هست که مقدار title به عنوان ؛ url به لینک؛ unescapedUrl به لینک؛ content به خلاصهای از محتویات اون لینک اشاره میکنه!!
برای مثال داخل php میتونیم به این شکل نتیجه ها رو داشته باشیم:
* که در اینحا googleResult یک آبجکتی/آرایهای بعد از پردازش json مورد نظرمون هست.
پارامترهای دیگهای که میتونه مفید باشه پارمتر start هست که مشخص میکنه نتایج از چه صفحهای بعد نشون داده بشه
پارمتر rsz که مشخص میکنه در هز بار جست و جو چند نتیجه برگشت داده بشه! این مقدار میشتونه بین ۱ تا ۸ باشه
نکتهی مهم اینکه به علت سیاستهای خود گوگل؛ نتیجهای که از ظریق api به دست میاد دقیقا همون نتیجهای که از طریق خود google.com بدست میاد نیست! و باهم تفاوت اندکی دارند.
اطلاعات بیشتر در مورد پارامترها - به علت تحریم سایت باز نمیشه؛ از موارد مورد نیاز عکس گرفتم و اتچ کردم
منبع همین لینک بالایل از خود گوگل
مثال با php
http://www.iranled.com/forum/thread-28516.html
با استفاده از این api ها میتونیم به انواع امکانات گوگل که در اختیارمون قرار میده دسترسی پیدا کنیم؛ مثل گوگلمپ و نتایج جست و جو و . . .
توی این تاپیک هدف اینه که باد بگیریم چطوری از نتایج جستوجوی گوگل توی برنامههامون استفاده کنیم؛ برای اینکار احتیاج به هیچ ثبت نام و .. نیست؛ فقط باید بتونیم یه درخواست در قالب http به سرور گوگل بفرستیم و نتایج برگشت از اونو که به فرمت json هستند رو تجزیه کنیم
روش کار سادست؛ باید پارامتهای خودمون رو به روش GET به سرور زیر ارسال کنیم:
کد:
http://ajax.googleapis.com/ajax/services/search/web
روش GET هم که سادست! کافیه بعد از url مورد نظر یک علامت سوال "؟" بذاریم
و یعد از اون "نام" پارامتر و یعد یک مساوی "=" و سپس مقدارشو بنویسیم
و اگه پارامتر دیگهای داریم یک "&" میذاریم و دوباره مرحله قبل رو تکرار میکنم
پارمترهای ضروریای که گوگل از ما میخواد فقط ۲ پارامتر هست! یکی پارامتر q که عبارت مورد جست و جو رو مشخص میکنه؛ و دیگری پارامتر v که ورژنی قصد استفاده رو داریم مشخص میکنیم که مقدارش رو برابر 1.0 قرار میدیم؛
برای مثال:
قسمت اول این url که آدرسمون هست:
و بعد برای ارسال پارامکترها همونطور که گفتم یک عدد علامت سوال میذاریم
و بعد پارمتر q رو مینویسم و بعد از علامت سوال عبارتی که میخواییم سرچ کنیم رو مینویسیم! (که اینحا من میخواستم عباریت salam رو سرچ کنم)
و بعد علامت & رو میذاریم که یعنی مشخص میکنیم پارمتر هامون ادامه داره
و بعد پارمتر v با مقدار ۱.۰
خروجی این دستور این شکلیه:
که با Json پارسر باید اونو پردازش کنید؛
نتایح داخل آبجکت responseData زیر آبجکت results هست؛ هر results ای شامل یک آبجکت دیگهای هست که مقدار title به عنوان ؛ url به لینک؛ unescapedUrl به لینک؛ content به خلاصهای از محتویات اون لینک اشاره میکنه!!
برای مثال داخل php میتونیم به این شکل نتیجه ها رو داشته باشیم:
کد php:
foreach ($googleResult->responseData->results as $r){
echo "<a href='$r->url'>$r->title</a>";
echo "$r->unescapedUrl";
echo "$r->content";
}
* که در اینحا googleResult یک آبجکتی/آرایهای بعد از پردازش json مورد نظرمون هست.
پارامترهای دیگهای که میتونه مفید باشه پارمتر start هست که مشخص میکنه نتایج از چه صفحهای بعد نشون داده بشه
پارمتر rsz که مشخص میکنه در هز بار جست و جو چند نتیجه برگشت داده بشه! این مقدار میشتونه بین ۱ تا ۸ باشه
نکتهی مهم اینکه به علت سیاستهای خود گوگل؛ نتیجهای که از ظریق api به دست میاد دقیقا همون نتیجهای که از طریق خود google.com بدست میاد نیست! و باهم تفاوت اندکی دارند.
اطلاعات بیشتر در مورد پارامترها - به علت تحریم سایت باز نمیشه؛ از موارد مورد نیاز عکس گرفتم و اتچ کردم
منبع همین لینک بالایل از خود گوگل
مثال با php
http://www.iranled.com/forum/thread-28516.html