找淘金币全额兑换的商品是不是很麻烦,点来点去每个类目找一下,等找到心仪的宝贝宝贝已对被抢光了。
如果能有一个地方可以看到所有可以全额兑换的商品是不是方便很多,一眼看过,迅速挑选。
嗯,这里做了一个这样的页面,帮助大家兑换点东东。
免费空间不太稳定,下面几个可以多试几个
http://freeyun.duapp.com/index.do (百度的云服务器,国内的速度真是飞一般的感觉)
http://jinbi-yunduan.rhcloud.com/free/ (终于找到一个稳定点的空间)
2012-09-07 jhost空间被无情的丢弃了,开始支持Chrome插件,可自动监测上新。
http://do.jhost.cn/liuruile/ (速度慢,不太稳定)
获取宝贝是动态的,刷新下页面,被抢光的宝贝就没有了。jhost的免费空间(本来想放在gae上,无奈……)。大家不要刷新太频繁,可能有流量限制,哈哈。如果想在搭建jhost搭建程序,可以去下面链接去找邀请码 http://daimojingdeyu.iteye.com/blog/1625446
程序很简单,最近有同事推荐了一下jsoup的用法,感觉使用起来很简单,就做了这个程序。果然很强大。
源码请参考:
public class tjbServlet extends HttpServlet {
private static Pattern pattern = Pattern.compile("http://taojinbi.taobao.com/home/award_category_home.htm\\?category_id=(\\d+)");
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter bufferedWriter = response.getWriter();
Document document = Jsoup.connect("http://taojinbi.taobao.com/home/award_exchange_home.htm?tracelog=qzindex001").userAgent("Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2").get();
Element head = document.head();
Elements elements= Selector.select("link[rel^=stylesheet]", head);
bufferedWriter.append("<html>");
bufferedWriter.append('\n');
bufferedWriter.append("<head>");
bufferedWriter.append('\n');
bufferedWriter.append(elements.toString());
bufferedWriter.append('\n');
bufferedWriter.append("</head>");
bufferedWriter.append('\n');
bufferedWriter.append("<body>");
bufferedWriter.append('\n');
Element body = document.body();
writerMainCategory(32, bufferedWriter, body);
writeNav(bufferedWriter, body);
bufferedWriter.append("</body>");
bufferedWriter.append('\n');
bufferedWriter.append("</html>");
bufferedWriter.flush();
}
private void writerMainCategory(int length , PrintWriter bufferedWriter, Element body) throws IOException {
Elements elements = Selector.select("a[href]", Selector.select("div.content", body).first());
int eLen=elements.size();
if (length <=0) {
length = eLen;
}
for(int i=0;i<length&&i<eLen;i++) {
Element element = elements.get(i);
String url = element.attr("href");
url = pattern.matcher(url).replaceAll("http://taojinbi.taobao.com/home/category_search_home.htm\\?category_id=$1&page=1&order=1&isAsc=1&discountPriceMin=&discountPriceMax=&isExchangeCoin=yes&exchangeCoinMin=&exchangeCoinMax=");
Document document = Jsoup.connect(url).userAgent("Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2").get();
Element inner_body = document.body();
Elements inner_elements = Selector.select("div.items > a[href]", inner_body);
bufferedWriter.append("<font size=3 color='blue'><b>");
bufferedWriter.append(element.text());
bufferedWriter.append("</b></font>");
if (inner_elements == null || inner_elements.isEmpty()) {
bufferedWriter.append("(该类目全额兑换商品已经被换完了!!!)<br>");
} else {
bufferedWriter.append("<br>");
for(int j = 0; j<inner_elements.size(); j++) {
Element divElement = new Element(Tag.valueOf("div"), "");
divElement.attr("style", "float:left");
divElement.appendChild(inner_elements.get(j));
bufferedWriter.append(divElement.toString());
}
Element divElement = new Element(Tag.valueOf("div"), "");
divElement.attr("style", "clear:both;float:none");
bufferedWriter.append(divElement.toString());
}
bufferedWriter.append("<br><hr>");
}
}
private void writeNav(PrintWriter bufferedWriter, Element body) throws IOException {
Elements elements;
elements = Selector.select("div.title", body); //content
bufferedWriter.append(elements.first().toString());
elements = Selector.select("div.content", body);
Element element = elements.first();
elements = Selector.select("a[href]", element);
elements.attr("target","_blank");
String allCategory = element.toString();
allCategory = pattern.matcher(allCategory).replaceAll("http://taojinbi.taobao.com/home/category_search_home.htm\\?category_id=$1&page=1&order=1&isAsc=1&discountPriceMin=&discountPriceMax=&isExchangeCoin=yes&exchangeCoinMin=&exchangeCoinMax=");
bufferedWriter.append(allCategory);
bufferedWriter.append('\n');
}
}