Tekil Mesaj gösterimi
Alt 17 Ekim 2012, 23:48   #5
Çevrimdışı
YazılımMimarı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: KP Website SEO Analiz Projem




Arka tarafta çalışan kod sirkülasyonun hepsi;

Her metod bir kriteri karşılyıor genelde, Kod blogları içinde commentler ile kod açıklamalarını yaptım. Her metoddan dönen değerleri, ilk mesajımdaki gibi jsp sayfası içine scriptlet tag leri içine yazabilirsiniz.



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
package ThirdPartyApp; import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlDivision; import com.gargoylesoftware.htmlunit.html.HtmlPage; import java.io.IOException; /** * * @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] turgay */ public class Indexes { static WebClient webClient = null; public Indexes() { } //Bu metod aşağıdaki bütün metodları sırası ile çalıştırıp, dönen değerleri //StringBuilder nesnesi içine append ediyor ve metod String bir değer geri //dönüyor bunuda seo.kodlapaylas.com'da bir sorgulama yaptıgınızda //sonucların geldiği kısım olarak söylenebilir public StringBuilder startWebSiteAnalyze(String website) { StringBuilder sb = null; try { sb = new StringBuilder(); cnt.setSeoDomain(website); sb.append(googleIndex(website)); sb.append(yahooIndex(website)); sb.append(bingIndex(website)); sb.append(yandexIndex(website)); sb.append(alexaValues(website)); sb.append(googleBackLink(website)); sb.append(isDmoz(website)); if (cnt.InsertNewQuery() == true) { return sb; } else { return sb; } } catch (Exception e) { e.printStackTrace(); return sb; } } //Google arama motoru index istatistik değerini getiren metod private String googleIndex(String website) { String returningValue = ""; try { webClient = new WebClient(BrowserVersion.FIREFOX_3_6); webClient.setThrowExceptionOnScriptError(false); webClient.setThrowExceptionOnFailingStatusCode(false); webClient.setCssEnabled(false); webClient.setRedirectEnabled(false); webClient.setJavaScriptEnabled(false); HtmlPage pageC = webClient.getPage("
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
website); HtmlDivision div = pageC.getHtmlElementById("resultStats"); int googleStartIndex = div.asText().indexOf("Yaklaşık") + 9; int googleEndIndex = div.asText().indexOf("sonuç"); String googleIndexCounter = div.asText().substring(googleStartIndex, googleEndIndex); returningValue = "<b>Google Index : </b>" + googleIndexCounter + "<br>"; webClient.closeAllWindows(); return returningValue; } catch (Exception e) { e.printStackTrace(); return returningValue; } } //Google BackLink sayısını getiren metod private String googleBackLink(String website) { String returningValue = ""; try { webClient = new WebClient(BrowserVersion.FIREFOX_3_6); webClient.setThrowExceptionOnScriptError(false); webClient.setThrowExceptionOnFailingStatusCode(false); webClient.setCssEnabled(false); webClient.setRedirectEnabled(false); webClient.setJavaScriptEnabled(false); HtmlPage pageC = webClient.getPage("https://
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
website); HtmlDivision div = pageC.getHtmlElementById("resultStats"); String googleBackLinkCounter = ""; if (div.asText().contains("Yaklaşık")) { int googleStartIndex = div.asText().indexOf("Yaklaşık") + 9; int googleEndIndex = div.asText().indexOf("sonuç"); googleBackLinkCounter = div.asText().substring(googleStartIndex, googleEndIndex); returningValue = "<b>Google BackLink : </b>" + googleBackLinkCounter + "<br>"; } else { returningValue = "<b>Google BackLink : </b>" + "0" + "<br>"; } webClient.closeAllWindows(); return returningValue; } catch (Exception e) { e.printStackTrace(); return returningValue; } } //Yahoo arama motoru istatistiklerini getiren metod private String yahooIndex(String website) { String returningValue = ""; try { webClient = new WebClient(BrowserVersion.FIREFOX_3_6); webClient.setThrowExceptionOnScriptError(false); webClient.setThrowExceptionOnFailingStatusCode(false); webClient.setCssEnabled(false); webClient.setRedirectEnabled(false); webClient.setJavaScriptEnabled(false); HtmlPage pageC = webClient.getPage("http://search.yahoo.com/search?p=site:" + website); HtmlDivision div = pageC.getHtmlElementById("cnt-wrap"); String yahooIndexCounter = div.asText().substring(0, div.asText().length() - 7); returningValue = "<b>Yahoo Index : </b>" + yahooIndexCounter + "<br>"; webClient.closeAllWindows(); return returningValue; } catch (Exception e) { e.printStackTrace(); return returningValue; } } //Bing arama motoru istatistiklerini getiren metod private String bingIndex(String website) { String returningValue = ""; try { webClient = new WebClient(BrowserVersion.FIREFOX_3_6); webClient.setThrowExceptionOnScriptError(false); webClient.setThrowExceptionOnFailingStatusCode(false); webClient.setCssEnabled(false); webClient.setRedirectEnabled(false); webClient.setJavaScriptEnabled(false); HtmlPage pageC = webClient.getPage("
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
website); HtmlDivision div = pageC.getHtmlElementById("sw_main"); int bingEndIndex = div.asText().indexOf("results"); String bingIndexCounter = div.asText().substring(0, bingEndIndex); returningValue = "<b>Bing Index : </b>" + bingIndexCounter + "<br>"; webClient.closeAllWindows(); return returningValue; } catch (Exception e) { e.printStackTrace(); return returningValue; } } //Yandex arama motoru istatistiklerini getiren metod private String yandexIndex(String website) { String returningValue = ""; try { webClient = new WebClient(BrowserVersion.FIREFOX_3_6); webClient.setThrowExceptionOnScriptError(false); webClient.setThrowExceptionOnFailingStatusCode(false); webClient.setCssEnabled(false); webClient.setRedirectEnabled(true); webClient.setJavaScriptEnabled(true); HtmlPage pageC = webClient.getPage("http://yandex.com.tr/yandsearch?text=site:" + website); String div = pageC.asText(); int yandexBeginIndex = div.indexOf("Yandex: ") + 7; int yandexEndIndex = div.indexOf("sonuç"); String yandexIndexCounter = div.substring(yandexBeginIndex, yandexEndIndex); returningValue = "<b>Yandex Index : </b>" + yandexIndexCounter + "<br>"; webClient.closeAllWindows(); return returningValue; } catch (Exception e) { e.printStackTrace(); return returningValue; } } //Alexa içindeki global, yerel ve backlink değerleri private String alexaValues(String website) throws IOException { String returningValue = ""; try { webClient = new WebClient(BrowserVersion.FIREFOX_3_6); webClient.setThrowExceptionOnScriptError(false); webClient.setThrowExceptionOnFailingStatusCode(false); webClient.setCssEnabled(false); webClient.setRedirectEnabled(true); webClient.setJavaScriptEnabled(true); HtmlPage pageC = webClient.getPage("
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
website); HtmlDivision htmlDiv = pageC.getHtmlElementById("search"); String tableHtml = htmlDiv.asText(); String myNecessaryBlock = tableHtml.substring(tableHtml.indexOf("Alexa Traffic"), tableHtml.indexOf("Star")); int alexaGlobalBeginIndex = myNecessaryBlock.indexOf("Alexa Traffic Rank:") + 19; int alexaGlobalEndIndex = 0; if (myNecessaryBlock.contains("No regional data")) { alexaGlobalEndIndex = myNecessaryBlock.indexOf("No regional data"); } else if (myNecessaryBlock.contains("Traffic Rank in")) { alexaGlobalEndIndex = myNecessaryBlock.indexOf("Traffic Rank in"); } String alexaGlobal = myNecessaryBlock.substring(alexaGlobalBeginIndex, alexaGlobalEndIndex); int alexaLocalBeginIndex = 0; String alexaLocal = ""; if (tableHtml.contains("Traffic Rank in")) { alexaLocalBeginIndex = myNecessaryBlock.indexOf("Traffic Rank in ") + 16; int alexaLocalEndIndex = myNecessaryBlock.indexOf("Sites Linking In:"); alexaLocal = myNecessaryBlock.substring(alexaLocalBeginIndex, alexaLocalEndIndex); } else if (tableHtml.contains("No regional data")) { alexaLocal = "No regional data"; } int alexaBackLinkBeginIndex = tableHtml.indexOf("Sites Linking In:") + 17; int alexaBackLinkEndIndex = tableHtml.indexOf("Star"); String alexaBackLink = tableHtml.substring(alexaBackLinkBeginIndex, alexaBackLinkEndIndex - 4); returningValue = "<b>Alexa Global : </b>" + alexaGlobal + "<br>" + "<b>Alexa Local : </b>" + alexaLocal + "<br>" + "<b>Alexa BackLink : </b>" + alexaBackLink + "<br>"; webClient.closeAllWindows(); return returningValue; } catch (Exception e) { e.printStackTrace(); return returningValue; } } //DMoz kaydının olup olmadığı kontrolü private String isDmoz(String website) { String returningValue = ""; try { boolean isDmoz = false; webClient = new WebClient(BrowserVersion.FIREFOX_3_6); webClient.setThrowExceptionOnScriptError(false); webClient.setThrowExceptionOnFailingStatusCode(false); webClient.setCssEnabled(false); webClient.setRedirectEnabled(false); webClient.setJavaScriptEnabled(false); HtmlPage pageC = webClient.getPage("
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
website); HtmlDivision div = pageC.getHtmlElementById("bd-cross"); if (div.asText().contains("Open Directory Categories")) { returningValue = "var"; isDmoz = true; } else { returningValue = "yok"; isDmoz = false; } returningValue = "<b>Dmoz Kaydı : </b>" + returningValue + "<br>"; webClient.closeAllWindows(); return returningValue; } catch (Exception e) { e.printStackTrace(); return returningValue; } } }

Uygulamayı implemente ederken problem yaşarsanız konu altında belirtebilirsiniz. Uygun zamanımda yardımcı olmaya çalışırım.

Daha detaylı dökümentasyonunu sitemde yapıp, konu başlığına ekleyeceğim.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet