1 package us.codecraft.webmagic.selector;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.apache.commons.lang3.StringUtils;
7 import org.jsoup.nodes.Element;
8 import org.jsoup.select.Elements;
9
10
11
12
13
14
15
16 public class LinksSelector extends BaseElementSelector {
17
18 @Override
19 public String select(Element element) {
20 throw new UnsupportedOperationException();
21 }
22
23 @Override
24 public List<String> selectList(Element element) {
25 Elements elements = element.select("a");
26 List<String> links = new ArrayList<>(elements.size());
27 for (Element element0 : elements) {
28 if (StringUtils.isNotBlank(element0.baseUri())) {
29 links.add(element0.attr("abs:href"));
30 } else {
31 links.add(element0.attr("href"));
32 }
33 }
34 return links;
35 }
36
37 @Override
38 public Element selectElement(Element element) {
39 throw new UnsupportedOperationException();
40 }
41
42 @Override
43 public List<Element> selectElements(Element element) {
44 throw new UnsupportedOperationException();
45 }
46
47 @Override
48 public boolean hasAttribute() {
49 return true;
50 }
51 }