1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

Rubyful Soup is a Ruby port of the hit Python HTML/XML parser Beautiful Soup.

It's designed to be a useful quick-and-dirty parser for screen-scraping,
along the same lines as its parent:

1. Rubyful Soup won't choke if you give it bad markup. It yields a parse tree
that makes approximately as much sense as your original document.
This is usually good enough to collect the data you need and then run away.

2. Rubyful Soup provides a few simple methods and Ruby-like idioms for
navigating and searching a parse tree: a toolkit for dissecting a document
and extracting what you need. You don't have to create a custom parser for
each application. It's more flexible and easier to learn than XPath.

WWW: http://www.crummy.com/software/BeautifulSoup/
This commit is contained in:
Dirk Meyer 2007-02-18 12:45:26 +00:00
parent d8eaa6454a
commit 1fd2da0000
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=185430
5 changed files with 132 additions and 0 deletions

View File

@ -1017,6 +1017,7 @@
SUBDIR += rubygem-rails
SUBDIR += rubygem-rails-app-installer
SUBDIR += rubygem-redcloth
SUBDIR += rubygem-rubyfulsoup
SUBDIR += rubygem-scrapi
SUBDIR += sahana2
SUBDIR += sams

View File

@ -0,0 +1,24 @@
# Ports collection makefile for: rubyfulsoup
# Date created: 16 feb 2007
# Whom: dirk.meyer@dinoex.sub.org
#
# $FreeBSD$
PORTNAME= rubyfulsoup
PORTVERSION= 1.0.4
CATEGORIES= www textproc rubygems
MASTER_SITES= ${MASTER_SITE_RUBYFORGE}
MASTER_SITE_SUBDIR= rubyfulsoup
DISTNAME= rubyful_soup-${PORTVERSION}
MAINTAINER= dinoex@FreeBSD.org
COMMENT= Ruby port of the HTML/XML parser Beautiful Soup
BUILD_DEPENDS= ${LOCALBASE}/${SPEC_DIR}/htmltools-1.10.gemspec:${PORTSDIR}/textproc/rubygem-htmltools
RUN_DEPENDS= ${BUILD_DEPENDS}
USE_RUBY= yes
.include <bsd.port.pre.mk>
.include "${PORTSDIR}/devel/ruby-gems/Makefile.common"
.include <bsd.port.post.mk>

View File

@ -0,0 +1,3 @@
MD5 (rubygem/rubyful_soup-1.0.4.gem) = 51f7fbb73f65bcfdb7cecc5ab014b0b9
SHA256 (rubygem/rubyful_soup-1.0.4.gem) = 38657a4d0a05f1cdedf4b344f07a0c7edca570a9e3175c687494310f670cd4bb
SIZE (rubygem/rubyful_soup-1.0.4.gem) = 15872

View File

@ -0,0 +1,14 @@
Rubyful Soup is a Ruby port of the hit Python HTML/XML parser Beautiful Soup.
It's designed to be a useful quick-and-dirty parser for screen-scraping,
along the same lines as its parent:
1. Rubyful Soup won't choke if you give it bad markup. It yields a parse tree
that makes approximately as much sense as your original document.
This is usually good enough to collect the data you need and then run away.
2. Rubyful Soup provides a few simple methods and Ruby-like idioms for
navigating and searching a parse tree: a toolkit for dissecting a document
and extracting what you need. You don't have to create a custom parser for
each application. It's more flexible and easier to learn than XPath.
WWW: http://www.crummy.com/software/BeautifulSoup/

View File

@ -0,0 +1,90 @@
%%CACHE_DIR%%/rubyful_soup-%%PORTVERSION%%%%EXTRACT_SUFX%%
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulSOAP.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulSOAP.src/M000027.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulSoup.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M0000%%RUBY_SHLIBVER%%.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000001.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000002.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000003.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000004.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000005.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000006.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000007.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000008.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000009.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000010.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000011.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000012.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000013.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000014.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000015.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000016.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000017.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000019.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000020.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000021.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000022.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000023.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000024.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000025.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src/M000026.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/HTML.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/HTML/SGMLParser.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/NavigableString.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/PageElement.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/PageElement.src/M000028.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/PageElement.src/M000029.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/PageElement.src/M000030.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/RobustHTMLParser.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/RobustXMLParser.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/SimplifyingSOAPParser.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/Tag.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000031.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000032.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000033.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000034.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000035.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000036.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000037.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000038.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000039.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000041.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000042.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000043.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000044.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000045.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000046.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000047.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000048.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000049.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000050.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000051.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000052.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src/M000053.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/created.rid
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/files/CHANGELOG.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/files/lib/rubyful_soup_rb.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/fr_class_index.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/fr_file_index.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/fr_method_index.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/index.html
%%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/rdoc-style.css
%%GEMS_DIR%%/rubyful_soup-%%PORTVERSION%%/CHANGELOG
%%GEMS_DIR%%/rubyful_soup-%%PORTVERSION%%/lib/rubyful_soup.rb
%%GEMS_DIR%%/rubyful_soup-%%PORTVERSION%%/tests/rubyful_soup_tests.rb
%%SPEC_DIR%%/rubyful_soup-%%PORTVERSION%%%%EXTRACT_SUFX%%spec
@dirrm %%GEMS_DIR%%/rubyful_soup-%%PORTVERSION%%/lib
@dirrm %%GEMS_DIR%%/rubyful_soup-%%PORTVERSION%%/tests
@dirrm %%GEMS_DIR%%/rubyful_soup-%%PORTVERSION%%
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/files/lib
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/files
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/TagModule.src
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/PageElement.src
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/HTML
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulStoneSoup.src
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes/BeautifulSOAP.src
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc/classes
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%/rdoc
@dirrm %%DOC_DIR%%/rubyful_soup-%%PORTVERSION%%