Library for setting up data processing pipelines from remote data feeds
Project description
flexes-feed
Generic structure for retrieving and processing regularly updated data from the web
Scraper Usage
To create a new scraper simply create a class that inherits from the Scraper class
and override the check() method.
Here is a quick pseudo example:
import requests
from data_feed.scraper import NewFile, Scraper
class MyScraper(Scraper):
def check(self):
response = requests.get(self.channel)
# Parse content from page
# If the file has changed return a NewFile object
return [NewFile(file_url, self.s3_folder)]
def run_scraper():
s3_folder = 's3://bucket/path/to/store/data'
channel = 'http://somedata.com'
scraper = MyScraper(s3_folder, channel)
scraper.run()
if __name__ == '__main__':
run_scraper()
See examples/noaa_wind_scraper.py for a real example. The example
also requires that BeautifulSoup4 and lxml are installed. To install, simply
run pip install BeautifulSoup4 lxml.
Subscriber Usage
To create a new subscriber simply create a class that inherits from the Subscriber
class and override the process() method.
Here is a quick pseduo example:
from data_feed.subscriber import Subscriber
class MySubscriber(Subscriber):
def process(self, s3_uri):
# Process file(s) in s3_uri
def subscribe():
channel = 'http://somedata.com'
sub = MySubscriber(channel)
sub.subscribe()
if __name__ == '__main__':
subscribe()
See examples/noaa_wind_subscriber.py for a real example using the lanlytics API.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file flexes_feed-0.1.0.tar.gz.
File metadata
- Download URL: flexes_feed-0.1.0.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da305e7ecefb941c1c149043063b67e9e45f3d8698c8845585052323f52f8c47
|
|
| MD5 |
b1ba8bb655dfb45edb8fdc72db5946be
|
|
| BLAKE2b-256 |
12561176a6d77da56540a398e5bca92ed82a017eed5f7e649d557dd8d4fff240
|