由於本身寫了一個磁力搜索網站Btgoogle,準備進行優化一下,須要分析其餘的網站的優化狀況。
Java的Jsoup類庫和PHP的一個Simple_html_dom框架具備殊途同歸之妙,很是的相像.css
好比Jsoup裏面doc.select(".classname[:eq()]")
和Simple_html_dom裏面的$html->find(".classname",[eq])
都是儘可能完整Jquery裏面的功能.很是實用.後面對這兩個東西準備對比分析一下.對比而言,Jsoup比功能仍是強大很多,更加接近JS.html
Pythonjava
import urllib2 import re import sys url= "http://www.*****.com" req=urllib2.Request(url) r=urllib2.urlopen(req) html=r.read() m = re.search('\<meta name="keywords" content="(.*)"\/\>',html) print m.group(1) m = re.search('\<meta name="description" content="(.*)"\/\>',html) print m.group(1)
簡潔的python版,python效率仍是很不錯的,不過看Jsoup那麼方便,就直接用Jsoup了node
Jsouppython
package keyword; import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class keyword { public static void main(String[] args) { int i=0; int error1=2; for(i=0;i<=10;i++){ Document doc = null; try { doc = Jsoup.connect("http://www.baidu.com/s?wd=磁力搜索&pn="+i*10).get(); } catch (IOException e) { e.printStackTrace(); } Elements url = doc.getElementsByClass("g"); for (Element link : url){ String linktext=link.text().replaceAll("/(.*)",""); linktext="http://"+linktext; System.out.println("連接:"+linktext); Document linkin = null; try { linkin = Jsoup.connect(linktext).timeout(5000).header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0").get(); } catch (Exception e) { error1=1; } if(error1!=1){ String title = linkin.title(); Elements metas = linkin.head().select("meta"); for (Element meta : metas) { String content = meta.attr("content"); if ("keywords".equalsIgnoreCase(meta.attr("name"))) { System.out.println("關鍵字:"+content); } if ("description".equalsIgnoreCase(meta.attr("name"))) { System.out.println("網站內容描述:"+content); } } Elements keywords = linkin.getElementsByTag("meta"); System.out.println("標題"+title); } error1=0; } } } }
這裏面也有幾個坑:web
timeout(timelength)
try{..}catch{..}
版權歸石頭(winipcss@outlook.com)和博客園全部,都拷去那麼多了,這一段也拷貝了吧 http://www.cnblogs.com/webers/p/4350813.html