https://github.com/kakwa/sytadin-scraper
sytadin traffic info scraper written in perl
https://github.com/kakwa/sytadin-scraper
perl scraper scraping sytadin sytadin-scraper traffic
Last synced: 10 months ago
JSON representation
sytadin traffic info scraper written in perl
- Host: GitHub
- URL: https://github.com/kakwa/sytadin-scraper
- Owner: kakwa
- License: mit
- Created: 2013-12-04T00:22:05.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2015-02-05T20:00:33.000Z (over 11 years ago)
- Last Synced: 2025-07-29T01:41:39.890Z (11 months ago)
- Topics: perl, scraper, scraping, sytadin, sytadin-scraper, traffic
- Language: Perl
- Homepage:
- Size: 243 KB
- Stars: 2
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
sytadin-scraper
===============
[](https://gitter.im/kakwa/sytadin-scraper?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
www.sytadin.fr traffic info scraper written in perl.
License
-------
sytadin-scraper is released under MIT.
Dependancies
------------
* WWW::Mechanize
* Getopt::Long
Command line
------------
```bash
> sytadin-scraper -h
usage:
* to search nodes:
sytadin-scraper [-h] -S ''
* to query sytadin:
sytadin-scraper -s '' -e '' [-v ''] [-l]
Command line utility to query www.sytadin.fr
arguments:
-h, --help : display this help
-l, --light : light output
(format '|' (optional)
-S, --search : search the nodes
matching '.*.*'
in available nodes (case insensitive)
-s, --start : node where we start
-e, --end : node where we end
-v, --via : intermediate node (optional)
> sytadin-scraper -S clamart
List of matching nodes:
* 'Le Petit Clamart (N118xA86)'
> ./bin/sytadin-scraper -s 'Plaisance' \
-e 'Evry (A6xN104)' -v 'Janvry (A10xN104)'
Plaisance to Evry (A6xN104) via Janvry (A10xN104): 35mn (44%)
```
Library
-------
```perl
use SYTADIN::Query;
# search nodes (case insensitive)
print "List of matching nodes:\n";
foreach (SYTADIN::Query::search_node('achères')){
print "* '$_'\n";
};
print "\n";
my $start = 'Le Petit Clamart (N118xA86)';
my $end = 'Corbeil (A6xN104)';
my $via = 'Janvry (A10xN104)';
# get the result page of sytadin (raw html)
my $page = SYTADIN::Query::query_sytadin($start, $end, $via);
# basic parsing of the html page
# to get the traject_time and the reliability
my %info = SYTADIN::Query::scan_result_page($page);
print "traject: '$start' to '$end' via '$via':\n";
print "* traject time: $info{'traject_time'}\n";
print "* reliability: $info{'reliability'}%\n";
print "\n";
# another search
my $start = 'Achères (N184xD30)';
my $end = 'Corbeil (A6xN104)';
my $via = 'Janvry (A10xN104)';
# direct access to the data (same as query_sytadin + scan_result_page)
my %info2 = SYTADIN::Query::get_time_reliability($start, $end, $via);
print "traject: '$start' to '$end' via '$via':\n";
print "* traject time: $info2{'traject_time'}\n";
print "* reliability: $info2{'reliability'}%\n";
```
[](https://bitdeli.com/free "Bitdeli Badge")