import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import nicobrowser.entity.NicoContent.Status;
+import nicobrowser.search.SearchKind;
import nicobrowser.search.SearchResult;
import nicobrowser.util.Result;
import nicobrowser.util.Util;
private static final String MOVIE_THUMBNAIL_PAGE_HEADER =
"http://www.nicovideo.jp/api/getthumbinfo/";
private static final String GET_FLV_INFO = "http://www.nicovideo.jp/api/getflv/";
- private static final String SEARCH_HEAD = "http://www.nicovideo.jp/search/";
+ private static final String SEARCH_HEAD = "http://www.nicovideo.jp/";
private static final String ADD_MYLIST_PAGE = "http://www.nicovideo.jp/mylist_add/video/";
private static final String GET_THREAD_KEY_PAGE = "http://www.nicovideo.jp/api/getthreadkey?thread=";
* @page 検索結果ページのうち, 結果を返すページ.
* @return 検索結果.
*/
- public SearchResult search(SearchKind kind, String word, SortKind sort, SortOrder order, int page) throws IOException {
+ public SearchResult search(SearchKind kind, String word, SortKind sort, SortOrder order, int page) throws
+ IOException {
log.debug("検索:" + word);
InputStream is = null;
ArrayList<NicoContent> conts = new ArrayList<NicoContent>();
- String url = SEARCH_HEAD + word + "?page=" + Integer.toString(page) + "&sort=" + sort.getKey() + "&order=" + order.
- getKey();
+ String url = SEARCH_HEAD + kind.getKey() + "/" + word + "?page=" + Integer.toString(page) + "&sort=" + sort.
+ getKey() + "&order=" + order.getKey();
try {
HttpGet get = new HttpGet(url);
}
/**
+ * コンテンツ概略のストリームを取得する.
+ * @param movieNo
+ * @return コンテンツ概略. 取得元でcloseすること.
+ * @throws IOException
+ */
+ public InputStream getThumbInfo(String movieNo) throws IOException {
+ String url = MOVIE_THUMBNAIL_PAGE_HEADER + movieNo;
+ log.debug("動画サムネイルURL: " + url);
+
+ HttpGet get = new HttpGet(url);
+ HttpResponse response = http.execute(get);
+ return response.getEntity().getContent();
+
+ }
+
+ /**
* 動画番号を指定したコンテンツ情報の取得.
* @param movieNo 動画番号.
* @return コンテンツ情報.
public NicoContent loadMyMovie(String movieNo) {
NicoContent cont = null;
InputStream re = null;
- List<SyndEntryImpl> list = null;
- String url = MOVIE_THUMBNAIL_PAGE_HEADER + movieNo;
- log.debug("動画サムネイルURL: " + url);
-
- HttpGet get;
try {
- get = new HttpGet(url);
- HttpResponse response = http.execute(get);
- re = response.getEntity().getContent();
+ re = getThumbInfo(movieNo);
// ドキュメントビルダーファクトリを生成
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
// ドキュメントビルダーを生成
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import nicobrowser.entity.NicoContent.Status;
+import nicobrowser.search.SearchKind;
import nicobrowser.search.SortKind;
import nicobrowser.search.SortOrder;
import nicobrowser.search.SearchResult;
System.out.println("search");
instance.login(OK_MAIL, OK_PASS);
- SearchResult result = instance.search("初音ミク", SortKind.PlayTimes, SortOrder.Descending, 1);
+ SearchResult result = instance.search(SearchKind.KeyWord, "初音ミク", SortKind.PlayTimes, SortOrder.Descending, 1);
ArrayList<NicoContent> conts = result.getContents();
System.out.println("検索結果件数: " + conts.size());
assertEquals("1ページの上限20件がヒット", 20, conts.size());