Comments (4)
Good idea! How would you want to proceed with tolerance and XPath parameters? Would you suggest to configure them separate for each URL (see below) or globally for all? What would be appropriate for your use case?
# (url, tolerance, xpath)
https://url1.com, 75, /body
https://url2.com, 0, //div[name="article-container"]
...
from website-watcher.
Separate for each URL would be nice of course :) What do you think of json as input?
{
"url_list": [
{
"url": "https://url1.com",
"tolerance": 75,
"xpath": "/body"
},
{
"url": "https://url2.com",
"tolerance": 0,
"xpath": "//div[name='article-container']"
}
]
}
from website-watcher.
A JSON-formatted scrape config like the one you suggested seems to be a good option.
I'm thinking about keeping the logic for performing multiple scrapes outside of the actual watcher and provide a Bash script instead. It would read JSON config, iterate the array of URLs and parameters and call watcher.py
for each entry. Doing so wouldn't add additional complexity to the actual code and have control logic separated from business logic. The only drawback would be the fact that Windows users wouldn't be able to use that functionality unless we also provide a Batch- or PowerShell script.
from website-watcher.
Yeah that's a good point, might be better to do it this way. Maybe then CSV would be easier to parse in a Bash script. On the other hand, with tools like jq JSON shouldn't be a problem either.
from website-watcher.
Related Issues (17)
- SSL Doesn't support HOT 1
- Stdout adapter
- Subprocess adapter
- Add typings
- Include cookies when following redirects HOT 1
- Add example how to watch ebay-kleinanzeigen.de HOT 1
- Allow to set custom user agent
- Use difflib instead of length to detect changes HOT 6
- Add possibility to exclude HTML tags from beeing monitored HOT 4
- Predicting Tolerance HOT 1
- Bug in batch.sh HOT 7
- `ntfy.sh` adapter
- XPath queries to only include certain parts of a document HOT 9
- Use argparse HOT 3
- WebSub adapter HOT 1
- Python3.8 breaking HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from website-watcher.