KrugleやOpenHubなどのコード検索エンジンの結果を分析するツールを作りたいです。検索結果のHTMLページを取得するためにJavaとPythonを試しました:
import urllib2
def write_url(url, file_name, if_show):
if (url is None) or (file_name is None):
return
req = urllib2.Request(url)
resp = urllib2.urlopen(req)
ret = resp.read()
fp = open(file_name, "w")
fp.write(ret)
fp.close()
if if_show:
print ret
if __name__ == "__main__":
url_ = "http://www.krugle.org/document/search/#query=socket"
file_n = "D:/tmp/test.txt"
write_url(url_, file_n, True)
print "Done"
しかし、結果の内容はわかりませんでした。私が得たページの一部は次のようなものです:
<div class="content_result_body">
<div id="hit_list"></div>
<div class="paging" style="display: none;"></div>
</div>
クロムを使用して検索結果ページを確認しました。それは次のようなものです:
<div class="content_result_body">
<div id="hit_list">
<div class="hit">...</div>
<div class="hit">...</div>
<div class="hit">...</div>
</div>
<div class="paging">...</div>
</div>
そして、div.hit の "..." は、Krugle が検索した結果の内容を表します。Python コードで取得した返されたページの div.hit_list に何もなかった理由がわかりません。おそらく、結果の内容は js によって生成されたものです。しかし、コードで取得する方法がわかりません。