All Projects → fcannizzaro → Jsoup Annotations

fcannizzaro / Jsoup Annotations

Licence: apache-2.0
Jsoup Annotations POJO

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jsoup Annotations

ksoup
Kotlin Wrapper for Jsoup
Stars: ✭ 59 (-75.62%)
Mutual labels:  scraping, jsoup
Htmlrecycler
HtmlRecycler Converts a simple html page into A RecyclerView of Native android widgets.
Stars: ✭ 228 (-5.79%)
Mutual labels:  jsoup
Googlescraper
A Python module to scrape several search engines (like Google, Yandex, Bing, Duckduckgo, ...). Including asynchronous networking support.
Stars: ✭ 2,363 (+876.45%)
Mutual labels:  scraping
Goose Parser
Universal scrapping tool, which allows you to extract data using multiple environments
Stars: ✭ 211 (-12.81%)
Mutual labels:  scraping
Transistor
Transistor, a Python web scraping framework for intelligent use cases.
Stars: ✭ 205 (-15.29%)
Mutual labels:  scraping
Koro1fileheader
VSCode插件:自动生成,自动更新VSCode文件头部注释, 自动生成函数注释并支持提取函数参数,支持所有主流语言,文档齐全,使用简单,配置灵活方便,持续维护多年。
Stars: ✭ 3,137 (+1196.28%)
Mutual labels:  annotations
Jikan Rest
The REST API for Jikan
Stars: ✭ 200 (-17.36%)
Mutual labels:  scraping
Scrape Linkedin Selenium
`scrape_linkedin` is a python package that allows you to scrape personal LinkedIn profiles & company pages - turning the data into structured json.
Stars: ✭ 239 (-1.24%)
Mutual labels:  scraping
Awesome Java Crawler
本仓库收集整理爬虫相关资源,开发语言以Java为主
Stars: ✭ 228 (-5.79%)
Mutual labels:  jsoup
Awesome Data Annotation
A list of tools for annotating data, managing annotations, etc.
Stars: ✭ 204 (-15.7%)
Mutual labels:  annotations
Labelimg
🖍️ LabelImg is a graphical image annotation tool and label object bounding boxes in images
Stars: ✭ 16,088 (+6547.93%)
Mutual labels:  annotations
React Image Annotation
An infinitely customizable image annotation library built on React
Stars: ✭ 203 (-16.12%)
Mutual labels:  annotations
Arachnid
Crawl all unique internal links found on a given website, and extract SEO related information - supports javascript based sites
Stars: ✭ 224 (-7.44%)
Mutual labels:  scraping
Panther
A browser testing and web crawling library for PHP and Symfony
Stars: ✭ 2,480 (+924.79%)
Mutual labels:  scraping
React Tater
A React component to add annotations to any element on a page 🥔
Stars: ✭ 235 (-2.89%)
Mutual labels:  annotations
Convalida
A simple, lightweight and powerful field validation library for Android.
Stars: ✭ 201 (-16.94%)
Mutual labels:  annotations
Colly
Elegant Scraper and Crawler Framework for Golang
Stars: ✭ 15,535 (+6319.42%)
Mutual labels:  scraping
Search Engine Parser
Lightweight package to query popular search engines and scrape for result titles, links and descriptions
Stars: ✭ 216 (-10.74%)
Mutual labels:  scraping
Reaper
Social media scraping / data collection tool for the Facebook, Twitter, Reddit, YouTube, Pinterest, and Tumblr APIs
Stars: ✭ 240 (-0.83%)
Mutual labels:  scraping
Skrape.it
A Kotlin-based testing/scraping/parsing library providing the ability to analyze and extract data from HTML (server & client-side rendered). It places particular emphasis on ease of use and a high level of readability by providing an intuitive DSL. It aims to be a testing lib, but can also be used to scrape websites in a convenient fashion.
Stars: ✭ 231 (-4.55%)
Mutual labels:  jsoup

jsoup-annotations

Jsoup Annotations POJO

Build Status Android Arsenal Codacy Badge

Gradle Dependency

Step 1.

Add the JitPack repository to your build file

  allprojects {
    repositories {
      ...
      maven { url 'https://jitpack.io' }
    }
  }

Step 2.

Add the dependency

  dependencies {
    compile 'com.github.fcannizzaro:jsoup-annotations:1.0.3'
  }

Usage

Element html = Jsoup.connect("https://www.npmjs.com/").get();

/*
*  Scrape!
*  Use JsoupProcessor or JP
*/

NPM npm = JP.from(html, NPM.class);

// or

List<Package> packages = JP.fromList(html, Package.class);

See Sample Code

Annotations

@Selector(String: query)

Can be used for class or field.

@Selector("#content")
class Content {
  
  // internal elements

}

@Text(String: query)

@Text("h3")
String title;

@Html(String: query)

@Html("div.inner")
String html;

@Attr(String: query, String: attr)

@Attr(query="a", attr="href")
String href;

Text, Html, Attr can be also attached to methods like:

@Text("head > title")
void title(String title){
  // do something with result
}

@ForEach(String: query)

@ForEach("li")
void iterate(Element element, int index){
  // [required] element
  // [optional] index 
  // do something
}

@AfterBind

@AfterBind
void attached(){
  // called after object binding is completed.
}

@Child

Denote Field as child element (POJO).

@Items

Denote Field as List of Elements (POJO).

Author

Francesco Cannizzaro (fcannizzaro)

License

Copyright 2017 Francesco Saverio Cannizzaro

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].