下面是用python寫的,使用lxml來做html分析,從網上看到的,說是分析速度最快的哦,不過沒有驗證過。好了,上代碼。
複製代碼 代碼如下:import urllib
import urllib2
import urlparse
import lxml.html
def url_with_query(url, values):
parts = urlparse.urlparse(url)
rest, (query, frag) = parts[:-2], parts[-2:]
return urlparse.urlunparse(rest + (urllib.urlencode(values), None))
def make_open_http():
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
opener.addheaders = [] # pretend we're a human -- don't do this
def open_http(method, url, values={}):
if method == "POST":
return opener.open(url, urllib.urlencode(values))
else:
return opener.open(url_with_query(url, values))
return open_http
open_http = make_open_http()
tree = lxml.html.fromstring(open_http("GET", "http://www.jb51.net").read())
form = tree.forms[0]
form.fields["q"] = "eplussoft"
form.action="http://www.jb51.net/search"
response = lxml.html.submit_form(form,open_http=open_http)
html = response.read()
doc = lxml.html.fromstring(html)
lxml.html.open_in_browser(doc)
恩,驗證碼是個大問題。還有今天看了一些百度貼吧上的東西,更是壞了心情,它的驗證碼是用ajax取的圖片,這就更加麻煩了。不過好像現在大多數的論壇和部落格的驗證碼都是這樣的了。這樣第一次抓取下來的頁面就不會包含有驗證碼圖片了,更不要說分析驗證碼圖片了。要解決的問題還是很多的。。。