حول Indeed.com
إن Indeed هو محرك بحث ميتا على الإنترنت يوفر للباحثين عن عمل الوصول المجاني إلى ملايين فرص العمل من آلاف المواقع في بحث واحد كخلاصات وظائف. يشمل جميع قوائم الوظائف من لوحات الوظائف والصحف والجمعيات. هنا في هذه التدوينة، يمكنك معرفة كيفية تحميل وظائف Indeed إلى موقعك الإلكتروني بخطوات بسيطة من أكواد PHP.
خطوات دمج واجهة برمجة التطبيقات Indeed
الخطوة 1: أنشئ حسابًا في indeed.
الخطوة 2: انسخ نموذج طلب XML.
الخطوة 3: إنشاء دالة لإرسال طلب URL.
الخطوة 4: إنشاء دالة لتحويل XML إلى مصفوفة.
الخطوة 5: إنشاء صفحة "indeed.php"
الخطوة 6: أنشئ صفحة index.php لعرض النتائج.
الخطوة 1: إنشاء حساب في indeed
لإجراء تكامل مع موقعك الإلكتروني، يجب عليك إنشاء حساب في indeed.com . بعد تسجيل الدخول، يمكنك رؤية رابط واجهة برمجة التطبيقات في تذييل صفحة indeed.com. من خلال النقر عليه، سيتم توجيهك إلى صفحة ناشر Indeed ويمكنك تسجيل الدخول باستخدام تفاصيلك. هناك يمكنك اختيار خيار XML Feed من شريط القائمة الذي يوفر جميع التفاصيل حول XML Feed الخاص بـ Indeed.
الخطوة 2: انسخ طلب XML النموذجي
بعد اختيار XML Feed ستحصل على نموذج طلب XML يتضمن معرف الناشر الخاص بك مثل هذا “http://api.indeed.com/ads/apisearch?publisher=9xxxxxxxxxxxxxx&q=java&l=austin%2C+tx&sort=&radius=&st=
يمكنك أيضًا أن تفهم بسهولة ما تعنيه كل متغير في عنوان URL وكيفية استخدامه. يمكنك نسخ هذه الواجهة البرمجية (API) إلى صفحة الويب الخاصة بك حيث تحتاج إلى عرض وظائف Indeed.
الخطوة 3: إنشاء دالة كود PHP لإرسال طلب URL.
نحتاج إلى إنشاء دالة للحصول على تغذية XML من Indeed. تساعدنا هذه الدالة في إرسال طلب URL. من خلال طلب URL هذا نحصل على تغذية XML. يمكنك أيضًا إضافة أو تغيير قيم المتغيرات في URL حسب احتياجاتك. هنا قمت بتغيير بعض المتغيرات مثل query q=php، limit=25. بشكل افتراضي، تسحب فقط 10 تفاصيل وظائف من تغذية XML لـ Indeed.
<?php
function curl_request(){
// احصل على مورد cURL
$curl = curl_init();
// تعيين بعض الخيارات
curl_setopt_array($curl, array(
// أعد الاستجابة كسلسلة بدلاً من إخراجها على الشاشة
CURLOPT_RETURNTRANSFER => 1,
//URL لإرسال الطلب إليه
// أرسل الطلب & احفظ الاستجابة في $resp
$resp = curl_exec($curl);
//print($resp);
// إغلاق الطلب لتحرير بعض الموارد
curl_close($curl);
return $resp;
}
؟
الخطوة 4: إنشاء دالة لتحويل XML إلى مصفوفة
باستخدام رابط واجهة برمجة التطبيقات، نحصل فقط على بيانات XML. يجب تحويل ذلك إلى مصفوفة ونحتاج إلى إنشاء دالة لذلك.
مثال على تغذية XML
<?xml version="1.0" encoding="UTF-8" ?>
<response version="2">
<query>جافا</query>
<location>أوستن، تكساس</location>
<dupefilter>true</dupefilter>
<highlight>false</highlight>
<totalresults>547</totalresults>
<start>1</start>
<end>10</end>
<radius>25</radius>
<pageNumber>0</pageNumber>
<results>
<result>
<jobtitle>مطور جافا</jobtitle>
<company>XYZ Corp.</company>
<city>أوستن</city>
<state>تكساس</state>
<country>الولايات المتحدة</country>
<formattedLocation>أوستن، تكساس</formattedLocation>
<source>Dice</source>
<date>الإثنين، 02 أغسطس 2010 16:21:00 GMT</date>
<snippet>يبحث عن مطور جافا موجه للكائنات… جافا سيرفلت، HTML، جافا سكريبت،
AJAX، ستراتس، ستراتس2، JSF) مرغوب فيه. الإلمام بـ Tomcat و Java…</snippet>
<url>http://www.indeed.com/viewjob?jk=12345&indpubnum=8343699265155203</url>
<onmousedown>indeed_clk(this,’0000′);</onmousedown>
<latitude>30.27127</latitude>
<longitude>-97.74103</longitude>
<jobkey>12345</jobkey>
<sponsored>false</sponsored>
<expired>false</expired>
<formattedLocationFull>أ
وظيفة
<?php
function xmlToArray($input, $callback = null, $recurse = false) {
$data = ((!$recurse) && is_string($input))? simplexml_load_string($input, ‘SimpleXMLElement’, LIBXML_NOCDATA): $input;
إذا كان ($data instanceof SimpleXMLElement) $data = (array) $data;
إذا (is_array($data)) foreach ($data as &$item) $item = xmlToArray($item, $callback, true);
return (!is_array($data) && is_callable($callback))? call_user_func($callback, $data): $data;
}
؟
الخطوة 5: إنشاء صفحة ويب "indeed.php"
نحن نقوم بإنشاء صفحة ويب لتضمين جميع الوظائف التي أنشأناها أعلاه.
<?php
function curl_request(){
// احصل على مورد cURL
$curl = curl_init();
// تعيين بعض الخيارات
curl_setopt_array($curl, array(
// أعد الاستجابة كسلسلة بدلاً من إخراجها على الشاشة
CURLOPT_RETURNTRANSFER => 1,
//URL لإرسال الطلب إليه
));
// أرسل الطلب & احفظ الاستجابة في $resp
$resp = curl_exec($curl);
// إغلاق الطلب لتحرير بعض الموارد
curl_close($curl);
return $resp;
}
function xmlToArray($input, $callback = null, $recurse = false) {
$data = ((!$recurse) && is_string($input))? simplexml_load_string($input, ‘SimpleXMLElement’, LIBXML_NOCDATA): $input;
إذا كان ($data instanceof SimpleXMLElement) $data = (array) $data;
إذا (is_array($data)) foreach ($data as &$item) $item = xmlToArray($item, $callback, true);
return (!is_array($data) && is_callable($callback))? call_user_func($callback, $data): $data;
}
؟
<html>
<body>
<ol>
<?php
for($i=0;$i<25;$i++){ // استخدام حلقة for لعرض عدد الوظائف
$resp=curl_request($i);
$arrXml = xmlToArray($resp);
$results=$arrXml[‘results’];
؟
<li>
<p>
<strong>وظيفة :<a href=”<?php echo $results[‘result’][$i][‘url’]; ?>” target=”_blank”><?php echo $results[‘result’][$i][‘jobtitle’]; ?></a></strong>
</p>
<p><strong>الموقع: <?php echo $results[‘result’][$i][‘city’]; ?></strong></p>
<p><strong>التاريخ :<?php echo $results[‘result’][$i][‘date’];?></strong></p>
<p> الأوصاف :<?php echo $results[‘result’][$i][‘snippet’]; ?></p>
</li>
<?php } ?>
</ol>
</body>
</html>
الخطوة 6: أنشئ صفحة index.php مع رابط Indeed لتحميل تغذيات الوظائف.
هذه هي الصفحة الرئيسية التي تعرض الرابط إلى indeed.php الذي يعرض الوظائف من موقع indeed.
<html>
<body>
<p>
عرض الوظائف من <a href=”indeed.php”>INDEED</a>
</p>
</body>
</html>
بعد إنشاء هذين الملفين، يرجى حفظهما في مجلد واحد على المضيف المحلي أو الخادم. أدناه لقطة شاشة لصفحة الويب التي تحمل وظائف Indeed.
