{
"info": {
"author": "Eric Bower",
"author_email": "neurosnap@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Topic :: Internet :: WWW/HTTP"
],
"description": "============\nLink Grabber\n============\n\n.. image:: https://travis-ci.org/michigan-com/linkGrabber.svg?branch=master\n :target: https://travis-ci.org/michigan-com/linkGrabber\n\nLink Grabber provides a quick and easy way to grab links from\na single web page. This python package is a simple wrapper\naround `BeautifulSoup `_, focusing on grabbing HTML's\nhyperlink tag, \"a.\"\n\nDependecies:\n\n* Python 2.7, 3.3, 3.4\n* BeautifulSoup\n* Requests\n* Six\n\nHow-To\n------\n\n.. code:: bash\n\n $ python setup.py install\n\nOR\n\n.. code:: bash\n\n $ pip install linkGrabber\n\nQuickie\n-------\n\n.. code:: python\n\n import re\n import linkGrabber\n\n links = linkGrabber.Links(\"http://www.google.com\")\n links.find()\n # limit the number of \"a\" tags to 5\n links.find(limit=5)\n # filter the \"a\" tag href attribute\n links.find(href=re.compile(\"plus.google.com\"))\n\nDocumentation\n-------------\n\nhttp://linkgrabber.neurosnap.net/\n\nfind\n````\n\nParameters:\n * filters (dict): Beautiful Soup's filters as a dictionary\n * limit (int): Limit the number of links in sequential order\n * reverse (bool): Reverses how the list of tags are sorted\n * sort (function): Accepts a function that accepts which key to sort upon\n within the List class\n\nFind all links that have a style containing \"11px\"\n\n.. code:: python\n\n import re\n from linkGrabber import Links\n\n links = Links(\"http://www.google.com\")\n links.find(style=re.compile(\"11px\"), limit=5)\n\nReverse the sort before limiting links:\n\n.. code:: python\n\n from linkGrabber import Links\n\n links = Links(\"http://www.google.com\")\n links.find(limit=2, reverse=True)\n\nSort by a link's attribute:\n\n.. code:: python\n\n from linkGrabber import Links\n\n links = Links(\"http://www.google.com\")\n links.find(limit=3, sort=lambda key: key['text'])\n\nExclude text:\n\n.. code:: python\n\n import re\n\n from linkGrabber import Links\n\n links = Links(\"http://www.google.com\")\n links.find(exclude=[{ \"text\": re.compile(\"Read More\") }])\n\nRemove duplicate URLs and make the output pretty:\n\n.. code:: python\n\n from linkGrabber import Links\n\n links = Links(\"http://www.google.com\")\n links.find(duplicates=False, pretty=True)\n\nLink Dictionary\n```````````````\n\nAll attrs from BeautifulSoup's Tag object are available in the dictionary\nas well as a few extras:\n\n* text (text inbetween the tag)\n* seo (parse all text after last \"/\" in URL and attempt to make it human readable)\n\n\n=========\nChangelog\n=========\n\nv0.3.1 (11/09/2017)\n-------------------\n\n* :bug: `find` would fail when not providing a `href` property [6](https://github.com/michigan-com/linkGrabber/pull/6) @MohamedHuzien\n\nv.0.3.0 (7/09/2015)\n-------------------\n\n* Added parser parameter to Links class\n* Default parser set to lxml\n\nv.0.2.10 (7/09/2015\n-------------------\n\n* Added six as a dependency\n\nv0.2.9 (1/24/2014)\n------------------\n\n* Updated documentation\n\nv0.2.8 (10/23/2014)\n-------------------\n\n* Added better documentation\n\nv0.2.7 (06/25/2014)\n-------------------\n\n* Fixed exclude for non-iterable strings\n\nv0.2.6 (06/25/2014)\n-------------------\n\n* Exclude parameter is now a list of dictionaries\n* Added pretty property\n* Added duplicates property which will remove any identical URLs\n* Added more tests\n* Added better docs\n\nv0.2.5 (06/23/2014)\n-------------------\n\n* Added exclude parameter to Links.find() which removes\nlinks that match certain criteria\n\nv0.2.4 (06/10/2014)\n-------------------\n\n* Updated documentation to be better read on pypi\n* Removed scrape.py and moved it to __init__.py\n* Now using nose for unit testing\n\nv0.2.3 (05/22/2014)\n-------------------\n\n* Updated setup py file and some verbage\n\nv0.2.2 (05/19/2014)\n-------------------\n\n* linkGrabber.Links.find() now responds with all Tag.attrs\nfrom BeautifulSoup4 as well as 'text' and 'seo' keys\n\nv0.2.1 (05/18/2014)\n-------------------\n\n* Added more tests\n\nv0.2.0 (05/17/2014)\n-------------------\n\n* Modified naming convention, reduced codebase, more readable structure\n\nv0.1.9 (05/17/2014)\n-------------------\n\n* Python 3.4 compatability\n\nv0.1.8 (05/16/2014)\n-------------------\n\n* Changed paramerter names to better reflect functionality\n\nv0.1.7 (05/16/2014)\n-------------------\n\n* Update README\n\nv0.1.6 (05/16/2014)\n-------------------\n\n* Update README with more examples\n\nv0.1.5 (05/16/2014)\n-------------------\n\n* Updated find_links to accept link_reverse=(bool) and link_sort=(function)\n\nv0.1.0 (05/16/2014)\n-------------------\n\n* Initial release.\n",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/michigan-com/linkGrabber",
"keywords": "linkgrabber",
"license": "The MIT License (MIT)\n====================\n\nCopyright (c) 2014 Detroit Media Partnership\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
"maintainer": "",
"maintainer_email": "",
"name": "linkGrabber",
"package_url": "https://pypi.org/project/linkGrabber/",
"platform": "",
"project_url": "https://pypi.org/project/linkGrabber/",
"project_urls": {
"Homepage": "https://github.com/michigan-com/linkGrabber"
},
"release_url": "https://pypi.org/project/linkGrabber/0.3.1/",
"requires_dist": null,
"requires_python": "",
"summary": "Scrape links from a single web page",
"version": "0.3.1"
},
"last_serial": 3319740,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "e131b7e6ab5035d545db48f6c56be524",
"sha256": "ab87948bf6739cd4fc843481aa5bc9336082a4ed611bc9be335bfe597796ddb9"
},
"downloads": -1,
"filename": "linkGrabber-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e131b7e6ab5035d545db48f6c56be524",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2526,
"upload_time": "2014-05-16T19:24:06",
"url": "https://files.pythonhosted.org/packages/17/4e/39ccfe24c9d2b03edd48dbb16d2350ab68ab338a3fe590fa86062cab5da2/linkGrabber-0.1.0.tar.gz"
}
],
"0.1.5": [
{
"comment_text": "",
"digests": {
"md5": "b047adcf94d3de073ea311f466630ca1",
"sha256": "c08bf06ffc013cd3d532db0d442b2055ea034a6a9e918b292c28f9a165d18b03"
},
"downloads": -1,
"filename": "linkGrabber-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "b047adcf94d3de073ea311f466630ca1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3174,
"upload_time": "2014-05-17T00:36:52",
"url": "https://files.pythonhosted.org/packages/84/19/b5567af984157f7bf40e89aa885cc247f91a3a374b3a0596653d5c2da10e/linkGrabber-0.1.5.tar.gz"
}
],
"0.1.6": [
{
"comment_text": "",
"digests": {
"md5": "75c30b3414c412d0219527d2f7b0fc86",
"sha256": "b3078bd89dfabded7795f202dacb60ba4a6f68e2c02cf9ec0dc9d5732bf3c623"
},
"downloads": -1,
"filename": "linkGrabber-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "75c30b3414c412d0219527d2f7b0fc86",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3423,
"upload_time": "2014-05-17T00:44:56",
"url": "https://files.pythonhosted.org/packages/e1/25/e01294a94e06c93a78236064be5c7d8572510bc369cff8b803b0a6c5f551/linkGrabber-0.1.6.tar.gz"
}
],
"0.1.7": [
{
"comment_text": "",
"digests": {
"md5": "200a7800c2ef68d6d0a1cd0e5ecdeb43",
"sha256": "dfeb2cc99d56f8db90793f6436621684c15e2823c69170c02398090d6a390011"
},
"downloads": -1,
"filename": "linkGrabber-0.1.7.tar.gz",
"has_sig": false,
"md5_digest": "200a7800c2ef68d6d0a1cd0e5ecdeb43",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3566,
"upload_time": "2014-05-17T00:56:18",
"url": "https://files.pythonhosted.org/packages/7b/87/526dd7f0ba43186a9265513ab6fd8c365f5116ea4a7c0f0e8de452601ea2/linkGrabber-0.1.7.tar.gz"
}
],
"0.1.8": [
{
"comment_text": "",
"digests": {
"md5": "e643e7b32665620be67e6323da7aed4e",
"sha256": "08bad3bfad4ed6c725b3f0606e0d42b40d32ce1d8c28ef9d39f5674c6aac54cc"
},
"downloads": -1,
"filename": "linkGrabber-0.1.8.tar.gz",
"has_sig": false,
"md5_digest": "e643e7b32665620be67e6323da7aed4e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3391,
"upload_time": "2014-05-17T03:10:21",
"url": "https://files.pythonhosted.org/packages/13/fc/44c9b747a7a6a5681d90dd247544e6dc4cf92e5fc7de7f6cad66ef2e3f0f/linkGrabber-0.1.8.tar.gz"
}
],
"0.1.9": [
{
"comment_text": "",
"digests": {
"md5": "074c225afd3c2b2123e86ef492a10361",
"sha256": "a0898b1d7cec36f7654757c02882d38964bb8cc72a5424ac4ebdb452a8c7808d"
},
"downloads": -1,
"filename": "linkGrabber-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "074c225afd3c2b2123e86ef492a10361",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3489,
"upload_time": "2014-05-17T04:23:03",
"url": "https://files.pythonhosted.org/packages/14/98/1abe0520ecd9dfa0e8a5705a08f709e2d783aff4dd63e5569d8a5b407fad/linkGrabber-0.1.9.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "9eacac6e0a30573ab6864f8848ff602e",
"sha256": "d7cbddffec6a392d6c8da7d974dfddca284afc7e20ba5f1dff6973f1c354af6e"
},
"downloads": -1,
"filename": "linkGrabber-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "9eacac6e0a30573ab6864f8848ff602e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3432,
"upload_time": "2014-05-17T14:43:59",
"url": "https://files.pythonhosted.org/packages/2d/9d/d7125d8c84ea73227a6fa349d04ee9a2c7b5411b55aed06ab0694d2ae627/linkGrabber-0.2.0.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "602acdd95f013b2e6a62b76e65e0f681",
"sha256": "6eaf0e046915ec28ed6fd731ef2ba2788c6268301dd92e9a67aef1d41707333d"
},
"downloads": -1,
"filename": "linkGrabber-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "602acdd95f013b2e6a62b76e65e0f681",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5134,
"upload_time": "2014-05-19T02:21:02",
"url": "https://files.pythonhosted.org/packages/73/b8/fb3a3563eaca98c1f5a6e4c8d16eada086d4f6b81b381cf5b9c609925059/linkGrabber-0.2.1.tar.gz"
}
],
"0.2.2": [
{
"comment_text": "",
"digests": {
"md5": "c2e18ab4a32dae2f0bc71fdaa9aff23c",
"sha256": "b148f3df693af142a91d8081217f42069185c3dcd0cd6a44fc17f46951d41062"
},
"downloads": -1,
"filename": "linkGrabber-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "c2e18ab4a32dae2f0bc71fdaa9aff23c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5323,
"upload_time": "2014-05-19T14:33:29",
"url": "https://files.pythonhosted.org/packages/78/ae/46278eb6b797810cbd0730daeec35b0058dcf0430a52f6b9f557f081d9c4/linkGrabber-0.2.2.tar.gz"
}
],
"0.2.3": [
{
"comment_text": "",
"digests": {
"md5": "8487bf3eb1f93262a910c0edda0aca0d",
"sha256": "5a1c0fc1f4f9a1ca413a734aae48b2e15c95fde71c6662c0b6ad6d72a22e66a6"
},
"downloads": -1,
"filename": "linkGrabber-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "8487bf3eb1f93262a910c0edda0aca0d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6288,
"upload_time": "2014-05-22T19:07:14",
"url": "https://files.pythonhosted.org/packages/45/0b/7935429c4fefca68196dd09d3e9ed2e7aac4a75c2b62b6960954f4522c9c/linkGrabber-0.2.3.tar.gz"
}
],
"0.2.4": [
{
"comment_text": "",
"digests": {
"md5": "f80c7f982b36f8295fcf9a15767e00e8",
"sha256": "bd9315ba543553d40507728a21c971dbd46758e35dd0ddf0293c4c4f5c4a80aa"
},
"downloads": -1,
"filename": "linkGrabber-0.2.4.tar.gz",
"has_sig": false,
"md5_digest": "f80c7f982b36f8295fcf9a15767e00e8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6576,
"upload_time": "2014-06-10T18:57:05",
"url": "https://files.pythonhosted.org/packages/d3/e3/62b4e0414c393310197e9e3482ab9105dfc980d1ee65a91b75cd14fea442/linkGrabber-0.2.4.tar.gz"
}
],
"0.2.5": [
{
"comment_text": "",
"digests": {
"md5": "98f25721560c840717173084cad00a27",
"sha256": "da5b7bbee75dc4de9b47c6621ecab93b0cf0a67447dafaad12ce6c569bf786d7"
},
"downloads": -1,
"filename": "linkGrabber-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "98f25721560c840717173084cad00a27",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6667,
"upload_time": "2014-06-23T20:15:34",
"url": "https://files.pythonhosted.org/packages/52/23/efacaf6b4545da69e7654b30f2cbb3ec863823d8f1eaac68be28a65ed9ab/linkGrabber-0.2.5.tar.gz"
}
],
"0.2.6": [
{
"comment_text": "",
"digests": {
"md5": "5de8231156ceca42068bb5a59e895333",
"sha256": "047205f5be4690bdc8cdcf13a05b60a00ac4433e625e10545facfc12c6b008a7"
},
"downloads": -1,
"filename": "linkGrabber-0.2.6.tar.gz",
"has_sig": false,
"md5_digest": "5de8231156ceca42068bb5a59e895333",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9644,
"upload_time": "2014-06-25T18:11:07",
"url": "https://files.pythonhosted.org/packages/2d/d4/b78c96581df27ab752b024ae29488b223bfa2fbc81539784267f853dc3dd/linkGrabber-0.2.6.tar.gz"
}
],
"0.2.7": [
{
"comment_text": "",
"digests": {
"md5": "61908cdadc0c0312e9560ba7cb2f8cd5",
"sha256": "47a7c34bbb0574ccbd4502df3c1ade45028c0a3a674d2d9a4ada952fec633170"
},
"downloads": -1,
"filename": "linkGrabber-0.2.7.tar.gz",
"has_sig": false,
"md5_digest": "61908cdadc0c0312e9560ba7cb2f8cd5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9782,
"upload_time": "2014-06-25T18:55:53",
"url": "https://files.pythonhosted.org/packages/57/a6/19c31466547aa7892bf6f3d045d0bbb9c46da218027fbe16a047a1b7be7b/linkGrabber-0.2.7.tar.gz"
}
],
"0.2.8": [
{
"comment_text": "",
"digests": {
"md5": "01bc69c7f899bf18e0080c592411a390",
"sha256": "d92e0978ed028222dfcf81b1c595b7df30e2a384fd4fcfa7ce32013856759fe0"
},
"downloads": -1,
"filename": "linkGrabber-0.2.8.tar.gz",
"has_sig": false,
"md5_digest": "01bc69c7f899bf18e0080c592411a390",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8582,
"upload_time": "2014-10-23T05:37:37",
"url": "https://files.pythonhosted.org/packages/da/9d/0d58385090f01ba6759d643c13a1e6ea63b5a8e8e4a3b66bf5e822564588/linkGrabber-0.2.8.tar.gz"
}
],
"0.2.9": [
{
"comment_text": "",
"digests": {
"md5": "35a1c6c99dc5490e7c2424c6dc0c5abf",
"sha256": "4eca9fcf9b35e7d9462729d41cf8c87636d705a04613f6105674942166984829"
},
"downloads": -1,
"filename": "linkGrabber-0.2.9.tar.gz",
"has_sig": false,
"md5_digest": "35a1c6c99dc5490e7c2424c6dc0c5abf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8414,
"upload_time": "2015-01-24T17:22:15",
"url": "https://files.pythonhosted.org/packages/1b/57/7ed9da769a9eac09a78bca9b674236c2a58d7542fcf0e48bb6550c922d95/linkGrabber-0.2.9.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "7c4d2429bf7fdbedf126f4b31cb5ce9a",
"sha256": "dceda99c5a3419d49f6630298795ae6aa922c74096dc7dc786554337a09c9310"
},
"downloads": -1,
"filename": "linkGrabber-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "7c4d2429bf7fdbedf126f4b31cb5ce9a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9058,
"upload_time": "2015-07-09T17:23:58",
"url": "https://files.pythonhosted.org/packages/35/2d/b810125222bb78bd38c14813f48ccf27ddfc772519492d3e937ce1158f06/linkGrabber-0.3.0.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "3c62af4281efaa43f37b51d0ff934933",
"sha256": "f74ba4c3663c0a852a8d042486cea6d227fff3f04c6ea0275b893c6428a26466"
},
"downloads": -1,
"filename": "linkGrabber-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "3c62af4281efaa43f37b51d0ff934933",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9883,
"upload_time": "2017-11-09T14:37:21",
"url": "https://files.pythonhosted.org/packages/54/8c/d557bf84fbbacc000ed85ade46c449ad6700afac15674a1072b78c40f7f1/linkGrabber-0.3.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "3c62af4281efaa43f37b51d0ff934933",
"sha256": "f74ba4c3663c0a852a8d042486cea6d227fff3f04c6ea0275b893c6428a26466"
},
"downloads": -1,
"filename": "linkGrabber-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "3c62af4281efaa43f37b51d0ff934933",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9883,
"upload_time": "2017-11-09T14:37:21",
"url": "https://files.pythonhosted.org/packages/54/8c/d557bf84fbbacc000ed85ade46c449ad6700afac15674a1072b78c40f7f1/linkGrabber-0.3.1.tar.gz"
}
]
}