IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet odaları

>
+
Etiketlenen Kullanıcılar

4Beğeni(ler)
  • 2 Post By YazılımMimarı
  • 1 Post By YazılımMimarı
  • 1 Post By YazılımMimarı

 
 
LinkBack Seçenekler Arama Stil
Prev önceki Mesaj   sonraki Mesaj Next
Alt 31 Temmuz 2012, 01:32   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
KP Website SEO Analiz Projem




Can sıkıntısına bir ara test amaçlı bir kaç httpparser kütüphanelerini kurcalamışlığım olmuştu. Kurcalarken kendi websitem ile ilgili arama motorları indexleme,alexa global ve yerel sıralama gibi değerleri için birşey yazmaya karar vermiştim. Genel olarak aslında bitmişti çünkü işleyiş olarak bir her segmenti kodun aynı olacaktır. Daha sonra kendi sunucumda websiteme bir subdomain açıp, uygulamayı orada teste açağım ve açık kaynaklı olacağı için bütün kod sirkülasyonunu ve araçları bu başlık altında paylaşacağım. Kullanmak isteyen arkadaşlar kullanabilir.

Uygulama olduğu gibi java tabanlıdır. Hızlı olması için web tabanlı arayüzde JSP kullandım. Uygulama sunucusu Apache Tomcat'tir. Kullandığım HttpParser kütüphanesi ise açık kaynaklı bir proje olan HtmlUnit'tir.

İlk test ettiğim Google indexleme bilgisi onu paylaşayım.

index.jsp sayfam ve içeriğinde Google indexleme yapan kod.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<%-- 
    
Document   index
    Created on 
Jul 3120129:23:12 PM
    Author     
turgay
--%>

<%@ 
page import="ThirdPartyApp.Count"%>
<%@ 
page import="ThirdPartyApp.PageRank"%>
<%@ 
page import="com.gargoylesoftware.htmlunit.html.HtmlDivision"%>
<%@ 
page import="com.gargoylesoftware.htmlunit.BrowserVersion"%>
<%@ 
page import="com.gargoylesoftware.htmlunit.html.HtmlPage"%>
<%@ 
page import="com.gargoylesoftware.htmlunit.WebClient"%>
<%@ 
page contentType="text/html" pageEncoding="UTF-8"%>
<!
DOCTYPE html>
<
html>
    <
head>
        <
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <
title>KP Website SEO Analiz Projesi</title>
    </
head

    
<body>
    <
h1>KP Website SEO Analiz Projesi Alfa Test Sürümü</h1>
        <
form action="index.jsp" method="POST">
            <
input type="text" name="website" value="" />
            <
b>Ornek "
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #007700"></
b>
            <
input type="submit" value="GÖNDER" />
        </
form>
        <%
            
Count cnt = new Count();
            
int lastRecord 0;
            
boolean istCheck false;
            if (
cnt.ReadLastRecordNoFromFile() != && cnt.ReadLastRecordNoFromFile() != null) {
                
lastRecord cnt.ReadLastRecordNoFromFile();
                
istCheck true;
            }
            try {
                if (
istCheck) {
                    
long maxHeapSize Runtime.getRuntime().maxMemory();
                    
out.println("<b>JVM Max Heap Size : </b>" maxHeapSize "<br>");
                    
long totalHeapSize Runtime.getRuntime().totalMemory();
                    
out.println("<b>JVM Total Heap Size : </b>" totalHeapSize "</br>");
                    
long freeHeapSize Runtime.getRuntime().freeMemory();
                    
out.println("<b>JVM Free Heap Size : </b>" freeHeapSize "<br>");
                    
long processors Runtime.getRuntime().availableProcessors();
                    
out.println("<b>Processors : </b>" processors "</br>");
                    
String website "";
                    if (!
"".equals(request.getParameter("website")) && request.getParameter("website") != null) {
                        
website request.getParameter("website").toString().toLowerCase().trim();
                        
out.println("<b>Website :</b>" website "<br>");
                        final 
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
                        
HtmlPage pageC webClient.getPage("
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #007700">+ 
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(googleStartIndexgoogleEndIndex); 
                        
out.println("<b>Google Index : </b>" googleIndexCounter "<br>");
                        
webClient.closeAllWindows();
                        
lastRecord lastRecord 1;                       
                        
java.util.Date d = new java.util.Date();                         
                        
cnt.WriteNewRecordToFile(lastRecord " , " website " , " googleIndexCounter " , " d.toGMTString().substring(0d.toGMTString().length()-3) + ":"); 
                        
out.println("<b>PageRank : </b>" "Test aşamasında.." "</br>");
                    } else {
                        
out.println("<b>Website adı giriniz.</b></br>");
                    }
                }
            } catch (
Exception e) {
                
out.println("<div style=\"color:red;\"><b>Hata Oluştu</b></div>");
                
//e.getMessage();
            
} finally {
                
out.println("<div style=\"color:red;\">Sorgu Sayısı : <b>" lastRecord "</b></div>");
                
out.println("<h2><b>Son 50 sorgulanan kayıt</b><br></h2>");
                
out.println("<h4><b>Sıra, Domain , Index Sayısı, Sorgu Tarihi</b><br></h4>");
                for (
Object str cnt.ReadLastFiftyRecordFromFile()) {
                    
out.println("<b>" str "<br>");
                }
            }
        %>
    </
body>
</
html

Sorgu yapılan domain ve verilerini tutmak için bit txt dosyası kullandım. count.txt


Count.java
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ThirdPartyApp;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

/**
 *
 * [MENTION=21475]AuthoR[/MENTION] turgay
 */
public class Count {

    private static 
String path "\\WebApplication3\\web\\count.txt";
    
//Counstructor

    
public Count() {
    }

    
//Dosyadan okuma
    
@SuppressWarnings({"ConvertToTryWithResources""UseSpecificCatch"})
    public 
Integer ReadLastRecordNoFromFile() throws IOException {
        
BufferedReader in null;
        try {
            
in = new BufferedReader(new FileReader(path));
            
String str = new String();
            
String[] strArray null;
            while (
in.ready()) {     
                
strArray in.readLine().split(",");                
                
str strArray[0];
            }
            return 
Integer.valueOf(str.trim());
        } catch (
Exception e) {
            
e.printStackTrace();
            return 
0;
        } finally {
            
in.close();
        }
    }

    
//Dosyadan son 50 kayıdı okuma
    
@SuppressWarnings("ConvertToTryWithResources")
    public 
ArrayList ReadLastFiftyRecordFromFile() {
        
ArrayList<StringstrList = new ArrayList<>();
        try {
            
BufferedReader in = new BufferedReader(new FileReader(path));
            
int counter 0;
            
String str;
            while (
in != null) {
                
str in.readLine();
                if (
counter == 50 || str == null) {
                    break;
                }
                
strList.add(str.substring(0str.length() - 1));
                
counter counter 1;
            }
            
in.close();
            return 
strList;
        } catch (
Exception e) {
            
strList.add("Liste şuan boş..");
            return 
strList;
        }
    }

    
//Dosyaya yazma
    
@SuppressWarnings("ConvertToTryWithResources")
    public 
boolean WriteNewRecordToFile(String info) {
        try {
            
BufferedWriter out = new BufferedWriter(new FileWriter(pathtrue));
            
out.write(info "\n");
            
out.close();
            return 
true;
        } catch (
Exception e) {
            return 
false;
        }
    }


Uygulamanın alfa test sürümünü aksilik olmazsa cumartesi subdomain'e ekleyip yayınlayacağım.


Konu YazılımMimarı tarafından (02 Ağustos 2012 Saat 20:52 ) değiştirilmiştir.
 
Alıntı ile Cevapla

 

Etiketler
analiz, kp, projem, seo, website


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
IRC Sunuculari üzerine kurulmuş kurulu bir düzen (IRC Projem) beston Serbest Kürsü 7 16 Mayıs 2019 13:39
‘Üç önemli projem var' INsaNIty Haber Arşivi 0 20 Temmuz 2009 13:14
1 Projem var Difuzyon Projeler 0 16 Mart 2009 13:05