Welcome to Selenops, a Swift Web Crawler.
Given a webpage url and a word to search, Selenops will look for said word in that page, and all pages linked in there, recursively.
import Selenops
// Initialize crawler.
let crawler = Crawler(
startURL: URL(string: "https://fivestars.blog/")!,
maximumPagesToVisit: 10,
wordToSearch: "Swift" // Specify the word to search here.
)
// Set delegate.
crawler.delegate = ... // Needs to conform to CrawlerDelegate
// Start crawling!
crawler.start()The crawler delegate will get information such as visited webpages, and in which webpages the specified word has been found.
Selenops is distributed via the Swift Package Manager:
-
to use it into an app, follow this tutorial and use this repository URL:
https://github.com/zntfdr/Selenops.git. -
to use it in a package, add it as a dependency in your
Package.swift:
let package = Package(
...
dependencies: [
.package(url: "https://github.com/zntfdr/Selenops.git", from: "2.0.0")
],
targets: [
.target(
...
dependencies: ["Selenops"])
],
...
)...and then use import Selenops whenever necessary.
Selenops also comes with a command line tool that showcases its functionality.
To install it, clone the project and run make:
$ git clone https://github.com/zntfdr/Selenops.git
$ cd Selenops
$ makeSelenops was built by Federico Zanetello as an example of a Swift script.
All users are welcome and encouraged to become active participants in the project continued development — by fixing any bug that they encounter, or by improving the documentation wherever it’s found to be lacking.
If you'd like to make a change, please open a Pull Request, even if it just contains a draft of the changes you’re planning, or a test that reproduces an issue.
Thank you and please enjoy using Selenops!

