com.geccocrawler.gecco.annotation.Href Java Examples
The following examples show how to use
com.geccocrawler.gecco.annotation.Href.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: JavassistDynamicField.java From gecco with MIT License | 6 votes |
@Override public DynamicField href(boolean click, String... value) { Annotation annot = new Annotation(Href.class.getName(), cpool); annot.addMemberValue("click", new BooleanMemberValue(click, cpool)); ArrayMemberValue arrayMemberValue = new ArrayMemberValue(cpool); MemberValue[] memberValues = new StringMemberValue[value.length]; for(int i = 0; i < value.length; i++) { memberValues[i] = new StringMemberValue(value[i], cpool); } arrayMemberValue.setValue(memberValues); annot.addMemberValue("value", arrayMemberValue); attr.addAnnotation(annot); return this; }
Example #2
Source File: HtmlParser.java From gecco with MIT License | 5 votes |
public Object $basic(String selector, Field field) throws Exception { if (field.isAnnotationPresent(Text.class)) {// @Text Text text = field.getAnnotation(Text.class); String value = $text(selector, text.own()); return Conversion.getValue(field.getType(), value); } else if (field.isAnnotationPresent(Image.class)) {// @Image Image image = field.getAnnotation(Image.class); String imageSrc = $image(selector, image.value()); /*String localPath = DownloadImage.download(image.download(), imageSrc); if (StringUtils.isNotEmpty(localPath)) { return localPath; }*/ return imageSrc; } else if (field.isAnnotationPresent(Href.class)) {// @Href Href href = field.getAnnotation(Href.class); String url = $href(selector, href.value()); return url; } else if (field.isAnnotationPresent(Attr.class)) {// @Attr Attr attr = field.getAnnotation(Attr.class); String name = attr.value(); return Conversion.getValue(field.getType(), $attr(selector, name)); } else if (field.isAnnotationPresent(Html.class)) {// @Html Html html = field.getAnnotation(Html.class); return $html(selector, html.outer()); } else {// @Html return $html(selector); } }
Example #3
Source File: HtmlParser.java From gecco with MIT License | 5 votes |
public List<Object> $basicList(String selector, Field field) throws Exception { List<Object> list = new ArrayList<Object>(); Elements els = $(selector); for (Element el : els) { if (field.isAnnotationPresent(Text.class)) {// @Text Text text = field.getAnnotation(Text.class); list.add(Conversion.getValue(field.getType(), $text(el, text.own()))); } else if (field.isAnnotationPresent(Image.class)) {// @Image Image image = field.getAnnotation(Image.class); String imageSrc = $image(el, image.value()); /*String localPath = DownloadImage.download(image.download(), imageSrc); if (StringUtils.isNotEmpty(localPath)) { list.add(localPath); }*/ list.add(imageSrc); } else if (field.isAnnotationPresent(Href.class)) {// @Href Href href = field.getAnnotation(Href.class); String url = $href(el, href.value()); list.add(url); } else if (field.isAnnotationPresent(Attr.class)) {// @Attr Attr attr = field.getAnnotation(Attr.class); String name = attr.value(); list.add(Conversion.getValue(field.getType(), $attr(el, name))); } else if (field.isAnnotationPresent(Html.class)) {// @Html Html html = field.getAnnotation(Html.class); list.add(html.outer() ? el.outerHtml() : el.html()); } else {// Other list.add(el.html()); } } return list; }