ویرایش: 1398/10/8 21:22
A
A
نحوه بدست آوردن رنکینگ Alexa Rank در جاوا
در این آموزش از کتاب برخط جاوا، مثالی درباره نحوه استفاده از جاوا و DOM XML Parser برای بدست آوردن رنکینگ الکسا (Alexa) از API زیر نشان داده می شود:
http://data.alexa.com/data?cli=10&url=domainName
1. Alexa API
برای مثال URL زیر را در مرورگر خود تایپ کنید:
http://data.alexa.com/data?cli=10&url=oruji.github.io
Alexa نتیجه XML زیر را برمی گرداند:
<ALEXA VER="0.9" URL="oruji.github.io/" HOME="0" AID="=" IDN="oruji.github.io/">
<SD>
<POPULARITY URL="oruji.github.io/" TEXT="1089926" SOURCE="panel"/>
<REACH RANK="996038"/>
<RANK DELTA=" 208104"/>
<COUNTRY CODE="IR" NAME="Iran" RANK="49290"/>
</SD>
</ALEXA>
با توجه به تگ "POPULARITY"، مقدار attribute با عنوان "TEXT" رنکیگ Alexa می باشد.
2. جاوا، DOM و Alexa API
درون جاوا، تنها یک درخواست HTTP معمولی به API ارسال کنید، و با استفاده از XML Parser رنکینگ Alexa را بدست آورید:
package org.amoozesh;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class AlexaSEO {
public static void main(String[] args) {
AlexaSEO obj = new AlexaSEO();
System.out.println("Ranking : " + obj.getAlexaRanking("oruji.github.io"));
}
public int getAlexaRanking(String domain) {
int result = 0;
String url = "http://data.alexa.com/data?cli=10&url=" + domain;
try {
URLConnection conn = new URL(url).openConnection();
InputStream is = conn.getInputStream();
DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
Document doc = dBuilder.parse(is);
Element element = doc.getDocumentElement();
NodeList nodeList = element.getElementsByTagName("POPULARITY");
if (nodeList.getLength() > 0) {
Element elementAttribute = (Element) nodeList.item(0);
String ranking = elementAttribute.getAttribute("TEXT");
if(!"".equals(ranking)){
result = Integer.valueOf(ranking);
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
return result;
}
}
خروجی:
Ranking : 320049
مثال فوق رنکیگ الکسای وب سایت oruji.github.io را نشان می دهد.