{"id":32320477,"url":"https://github.com/rdlopes/webhere","last_synced_at":"2025-10-23T11:55:44.368Z","repository":{"id":7648715,"uuid":"9009399","full_name":"rdlopes/WebHere","owner":"rdlopes","description":"HTML scraping for Objective-C.","archived":false,"fork":false,"pushed_at":"2025-09-03T18:00:17.000Z","size":1303,"stargazers_count":17,"open_issues_count":2,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-23T11:55:38.060Z","etag":null,"topics":["afnetworking","cocoapods","extract-data","gdataxml-html","html","ios","nocilla","osx","scraping","web","xpath"],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdlopes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-03-25T15:32:31.000Z","updated_at":"2023-07-29T15:16:25.000Z","dependencies_parsed_at":"2025-09-03T20:20:29.832Z","dependency_job_id":null,"html_url":"https://github.com/rdlopes/WebHere","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/rdlopes/WebHere","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdlopes%2FWebHere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdlopes%2FWebHere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdlopes%2FWebHere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdlopes%2FWebHere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdlopes","download_url":"https://codeload.github.com/rdlopes/WebHere/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdlopes%2FWebHere/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280614539,"owners_count":26360842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["afnetworking","cocoapods","extract-data","gdataxml-html","html","ios","nocilla","osx","scraping","web","xpath"],"created_at":"2025-10-23T11:55:35.878Z","updated_at":"2025-10-23T11:55:44.361Z","avatar_url":"https://github.com/rdlopes.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebHere\n\n[![CI Status](http://img.shields.io/travis/rdlopes/WebHere.svg?style=flat)](https://travis-ci.org/rdlopes/WebHere)\n[![Version](https://img.shields.io/cocoapods/v/WebHere.svg?style=flat)](http://cocoadocs.org/docsets/WebHere)\n[![License](https://img.shields.io/cocoapods/l/WebHere.svg?style=flat)](http://cocoadocs.org/docsets/WebHere)\n[![Platform](https://img.shields.io/cocoapods/p/WebHere.svg?style=flat)](http://cocoadocs.org/docsets/WebHere)\n\nWebHere is an Objective-C framework for [web scraping](http://en.wikipedia.org/wiki/Web_scraping), packaged for iOS 8+ and OSX 10.10+ platforms.\n\nBriefly put, web scraping is parsing of a website and extraction of data from the HTML pages contained in it.\n\nThis work has been inspired by [RestKit](https://github.com/RestKit/RestKit), \nbut aimed at HTML data and working in a simpler form (no mapping upfront, model classes declare their own building strategy); \nit is mostly relying on:\n\n* [AFNetworking](https://github.com/AFNetworking/AFNetworking) to perform all network operations.\n* [GDataXML-HTML](https://github.com/graetzer/GDataXML-HTML) to extract data using XPath.\n\nThose two projects really deserve attention on their own, make sure to visit their page and understand their APIs, \nas WebHere will mostly provide a unified facade to their APIs.\n\n## Features\n\n* Downloads HTML pages and extracts data into user-defined classes.\n* Allows the user to use XPath to query the HTML document.\n* Pre-defined methods to extract links and forms.\n* Tested.\n\n## Limitations\n\n* At this moment only GET and POST REST methods have been tested.\n* Please pay attention to the legal issues when peforming web scraping.\n\n## Usage\n\nTo run the example project, clone the repo, and run `pod install` from the Example directory first.\n\nHaving a look at the test cases provided should give you an overview of the API.\n\nExample folder contains an iOS app that maps HTML to query Google.\n\n## Requirements\n\nDependencies are automatically managed by Cocoapod. \nIn case you have to add WebHere to your source tree and use it outside Cocoapod, \nyou must add the following projects along with WebHere:\n\n* [AFNetworking](https://github.com/AFNetworking/AFNetworking) for network operations\n* [GDataXML-HTML](https://github.com/graetzer/GDataXML-HTML) for XPath extraction\n\n## Installation\n\nWebHere is available through [CocoaPods](http://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n    pod \"WebHere\"\n\nAlternatively, you can add these sources as a git submodule.\n\n## Author\n\nRui Lopes, rui.d.lopes@me.com\n\n## License\n\nWebHere is available under the MIT license. See the [LICENSE](LICENSE) file for more info.\n\n## Testing\n\nProject has been covered by unit tests using:\n\n* [Specta/Expecta](https://github.com/specta/expecta) for the generic testing framework.\n* [Nocilla](https://github.com/luisobo/Nocilla) for stubbing network requests.\n\nPlease notice that all tests are performed locally, meaning that no actual network access is needed, all requests being stubed by Nocilla.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create new Pull Request\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdlopes%2Fwebhere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdlopes%2Fwebhere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdlopes%2Fwebhere/lists"}