1
私は最近、ウェブページの一部のコンテンツをスクレイプするためにWebGrudeを使用しました。それから私はe-bayからいくつかの検索結果を掻き集めようとしました。ここで試したものWebGrudeを使用して検索結果をスクラップする方法は?
@Page("http://www.ebay.com/sch/{0}")
public class PirateBay {
public static void main(String[] args) {
//Search calls Browser, which loads the page on a PirateBay instance
PirateBay search = PirateBay.search("iPhone");
while (search != null) {
search.magnets.forEach(System.out::println);
search = search.nextPage();
}
}
public static PirateBay search(String term) {
return Browser.get(PirateBay.class, term);
}
private PirateBay() {
}
/*
* This selector matches all magnet links. The result is added to this String list.
* The default behaviour is to use the rendered html inside the matched tag, but here
* we want to use the href value instead.
*/
@Selector(value = "#ResultSetItems a[href*=magnet]", attr = "href")
public List<String> magnets;
/*
* This selector matches a link to the next page result, wich can be mapped to a PirateBay instance.
* The Link next gets the page on the href attribute of the link when method visit is called.
*/
@Selector("a:has(img[alt=Next])")
private Link<PirateBay> next;
public PirateBay nextPage() {
if (next == null)
return null;
return next.visit();
}
}
結果は空です。これを使用して検索結果をどうやって削ることができますか?