3 |
import java.io.FileWriter; |
import java.io.FileWriter; |
4 |
import java.io.StringWriter; |
import java.io.StringWriter; |
5 |
import java.io.Writer; |
import java.io.Writer; |
6 |
|
import java.net.URL; |
7 |
|
import java.net.URLEncoder; |
8 |
import java.util.Date; |
import java.util.Date; |
9 |
|
|
10 |
import javax.xml.parsers.DocumentBuilderFactory; |
import javax.xml.parsers.DocumentBuilderFactory; |
32 |
*/ |
*/ |
33 |
public class Sitemap { |
public class Sitemap { |
34 |
|
|
35 |
Logger log = Logger.getLogger(Sitemap.class); |
static String[] SEARCHENGINES = new String[] { |
36 |
|
"http://www.sitemapwriter.com/notify.php?crawler=all&url=", |
37 |
|
"http://submissions.ask.com/ping?sitemap=", |
38 |
|
"http://www.google.com/webmasters/tools/ping?sitemap=", |
39 |
|
"http://api.moreover.com/ping?u=", |
40 |
|
"http://www.bing.com/webmaster/ping.aspx?siteMap=", |
41 |
|
"http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=" }; |
42 |
|
|
43 |
|
final static Logger log = Logger.getLogger(Sitemap.class); |
44 |
|
|
45 |
private Document document; |
private Document document; |
46 |
|
|
161 |
// with indenting to make it human-readable |
// with indenting to make it human-readable |
162 |
final TransformerFactory tf = TransformerFactory.newInstance(); |
final TransformerFactory tf = TransformerFactory.newInstance(); |
163 |
|
|
164 |
// TODO Ging mit xerces, geht nicht mehr mit xalan ?! |
// TODO Ging mit xerces, geht nicht mehr mit xalan ?! |
165 |
// tf.setAttribute("indent-number", new Integer(2)); |
// tf.setAttribute("indent-number", new Integer(2)); |
166 |
|
|
167 |
final Transformer xformer = tf.newTransformer(); |
final Transformer xformer = tf.newTransformer(); |
185 |
public int getSize() { |
public int getSize() { |
186 |
return size; |
return size; |
187 |
} |
} |
188 |
|
|
189 |
|
public static void submitToSearchEngines(String urlToSitemap) { |
190 |
|
for (String se : SEARCHENGINES) { |
191 |
|
log.info("Submitting " + urlToSitemap + " to " + se); |
192 |
|
try { |
193 |
|
URL url = new URL(se + urlToSitemap); |
194 |
|
|
195 |
|
urlToSitemap = URLEncoder.encode(urlToSitemap); |
196 |
|
|
197 |
|
url.openConnection().connect(); |
198 |
|
|
199 |
|
} catch (Exception e) { |
200 |
|
log.error("failed to submit " + urlToSitemap + " to " + se, e); |
201 |
|
} |
202 |
|
} |
203 |
|
} |
204 |
} |
} |