forked from btrott/Feed-Find
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
70 lines (51 loc) · 2.39 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
NAME
Feed::Find - Syndication feed auto-discovery
SYNOPSIS
use Feed::Find;
my @feeds = Feed::Find->find('http://example.com/');
DESCRIPTION
*Feed::Find* implements feed auto-discovery for finding syndication
feeds, given a URI. It (currently) passes all of the auto-discovery
tests at *http://diveintomark.org/tests/client/autodiscovery/*.
*Feed::Find* will discover the following feed formats:
* RSS 0.91
* RSS 1.0
* RSS 2.0
* Atom
USAGE
Feed::Find->find($uri)
Given a URI *$uri*, use a variety of techniques to find the feeds
associated with that page. If *$uri* itself points to a feed (i.e., if
the *Content-Type* of the response is a recognized feed type), returns
*$uri*.
Returns a list of feed URIs.
The following techniques are used:
1. *<link>* tag auto-discovery
If the page contains any *<link>* tags in the *<head>* section,
these tags are examined for recognized feed content types. The
following content types are treated as feeds:
*application/x.atom+xml*, *application/atom+xml*, *application/xml*,
*text/xml*, *application/rss+xml*, and *application/rdf+xml*.
2. Scanning *<a>* tags
If the page does not contain any known *<link>* tags, the page is
then scanned for *<a>* tags for links to URIs with certain file
extensions. The following extensions are treated as feeds: .rss,
.xml, and .rdf.
Note that this technique is employed only if the first technique
returns no results.
Feed::Find->find_in_html(\$html [, $base_uri ])
Given a reference to a string *$html* containing an HTML page, uses the
same techniques as described above in *find* to find the feeds
associated with that page.
If you know the URI of the page, you should provide it in *$base_uri*,
so that relative links can be properly made absolute. *Feed::Find* will
attempt to determine the correct base URI, but unless that URI is
specified in the HTML itself (in a "<meta>" tag), you'll need to supply
it yourself.
Returns a list of feed URIs.
LICENSE
*Feed::Find* is free software; you may redistribute it and/or modify it
under the same terms as Perl itself.
AUTHOR & COPYRIGHT
Except where otherwise noted, *Feed::Find* is Copyright 2004 Benjamin
Trott, ben+cpan@stupidfool.org. All rights reserved.