{ "info": { "author": "GoTLiuM InSPiRiT", "author_email": "gotlium@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Internet :: Proxy Servers" ], "description": "Django-ProxyList-For-Grab\n=========================\n\n.. image:: https://api.travis-ci.org/gotlium/django-proxylist.png?branch=master\n :alt: Build Status\n :target: https://travis-ci.org/gotlium/django-proxylist\n.. image:: https://coveralls.io/repos/gotlium/django-proxylist/badge.png?branch=master\n :target: https://coveralls.io/r/gotlium/django-proxylist?branch=master\n.. image:: https://pypip.in/v/django-proxylist-for-grab/badge.png\n :alt: Current version on PyPi\n :target: https://crate.io/packages/django-proxylist-for-grab/\n.. image:: https://pypip.in/d/django-proxylist-for-grab/badge.png\n :alt: Downloads from PyPi\n :target: https://crate.io/packages/django-proxylist-for-grab/\n\n\nThis application is useful for keep an updated list of proxy servers, it\ncontains everything you need to make periodic checks to verify the properties\nof the proxies. Also you can periodically collect the proxy server\nfrom the Internet, remove broken and slow proxies.\n\n\n\nInstalling the package\n----------------------\n\n`django-proxylist-for-grab` can be easily installed using pip:\n\n.. code-block:: bash\n\n $ pip install django-proxylist-for-grab\n\n\n\nConfiguration\n-------------\n\nAfter that you need to include `django-proxylist-for-grab` into your\n*INSTALLED_APPS* list of your django settings file.\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'proxylist',\n ...\n )\n\nAdd `django-proxylist-for-grab` into ``urls.py``\n\n.. code-block:: python\n\n urlpatterns = patterns(\n ...\n url(r'', include('proxylist.urls')),\n ...\n )\n\n\n`django-proxylist-for-grab` has a list of variables that you can configure\nthrought django's settings file. You can see the entire list at\nAdvanced Configuration.\n\n\n\nDatabase creation\n-----------------\n\nYou have two choices here:\n\nUsing south\n~~~~~~~~~~~\n\nWe ancourage recommend you using `south` for your database migrations. If you\nalready use it you can migrate `django-proxylist-for-grab`:\n\n.. code-block:: bash\n\n $ python manage.py migrate proxylist\n\n\n\nUsing syncdb\n~~~~~~~~~~~~\n\nIf you don't want to use `south` you can make a plain *syncdb*:\n\n.. code-block:: bash\n\n $ python manage.py syncdb\n\n\n\nBasic setup\n-----------\n\nAt first, add a mirror. For working mirror, you need to install app on\nserver with external ip. This is in order to be able to verify the correctness\nof data through proxy server. After adding mirror, you can add and test\nyour proxies.\n\n\n\nAsynchronously checking\n-----------------------\n`django-proxylist-for-grab` has configured by default to non-async check.\nYou can change this behavior. Insert into your django settings\n``PROXY_LIST_USE_CALLERY`` and change it to True.\n\nAfter you need to install and configure django-celery and rabbit-mq.\n\nFor example on OS X\n~~~~~~~~~~~~~~~~~~~\n**Packages installation**\n\n.. code-block:: bash\n\n $ sudo pip install django-celery\n $ sudo port install rabbitmq-server\n\nAdd the 'djcelery' application to 'INSTALLED_APPS' in settings\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'djcelery',\n ...\n )\n\n**Sync database**\n\n.. code-block:: bash\n\n $ ./manage.py syncdb\n\n**Run rabbitmq and celery**\n\n.. code-block:: bash\n\n $ sudo rabbitmq-server -detached\n $ nohup python manage.py celery worker >& /dev/null &\n\n\n\nCommand line reference\n----------------------\n\nupdate_proxies\n~~~~~~~~~~~~~~\n\nAdd new proxies from a file.\n\n.. code-block:: bash\n\n $ python manage.py update_proxies [file1] <...>\n\n\ncheck_proxies\n~~~~~~~~~~~~~\n\nCheck proxies availability and anonymity.\n\n.. code-block:: bash\n\n $ python manage.py check_proxies\n\n\ngrab_proxies\n~~~~~~~~~~~~\n\nSearch proxy list on internet\n\n\n.. code-block:: bash\n\n $ python manage.py grab_proxies\n\n\nclean_proxies\n~~~~~~~~~~~~~\n\nRemove broken proxies\n\n\n.. code-block:: bash\n\n $ python manage.py clean_proxies\n\n\n\nGrabLib usage example:\n----------------------\n\n.. code-block:: python\n\n from proxylist import grabber\n\n grab = grabber.Grab()\n\n # Get your ip (You can do this a few times to see how the proxy will be changed)\n grab.go('http://ifconfig.me/ip')\n if grab.response.code == 200:\n print grab.response.body.strip()\n\n # Get count of div on google page\n grab.go('http://www.ya.ru/')\n if grab.response.code == 200:\n print grab.doc.select('//script').number()\n\n\n\n\nGrabLib Spider example:\n----------------------\n\n.. code-block:: python\n\n # filename: apps/app/management/commands/spider.py\n # usage: python manage.py spider\n from django.core.management.base import BaseCommand\n from grab.spider.base import Task\n from proxylist.grabber import Spider\n\n\n class SimpleSpider(Spider):\n initial_urls = ['http://www.lib.ru/']\n\n def task_initial(self, grab, task):\n grab.set_input('Search', 'linux')\n grab.submit(make_request=False)\n yield Task('search', grab=grab)\n\n def task_search(self, grab, task):\n if grab.doc.select('//b/a/font/b').exists():\n for elem in grab.doc.select('//b/a/font/b/text()'):\n print elem.text()\n\n\n class Command(BaseCommand):\n help = 'Simple Spider'\n\n def handle(self, *args, **options):\n bot = SimpleSpider()\n bot.run()\n print bot.render_stats()\n\n\n\n* GitHub: https://github.com/gotlium/django-proxylist\n\n\n.. image:: https://d2weczhvl823v0.cloudfront.net/gotlium/django-proxylist/trend.png\n :alt: Bitdeli badge\n :target: https://bitdeli.com/free", "description_content_type": null, "docs_url": "https://pythonhosted.org/django-proxylist-for-grab/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gotlium/django-proxylist", "keywords": "django proxylist grab", "license": "GPL v3", "maintainer": null, "maintainer_email": null, "name": "django-proxylist-for-grab", "package_url": "https://pypi.org/project/django-proxylist-for-grab/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-proxylist-for-grab/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/gotlium/django-proxylist" }, "release_url": "https://pypi.org/project/django-proxylist-for-grab/0.5.1/", "requires_dist": null, "requires_python": null, "summary": "Proxy-list management application for Django", "version": "0.5.1" }, "last_serial": 1346530, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "b5d314542da3ee66c66ce56bcb818028", "sha256": "fbaa10d19c470531d79487e2bb841c1fe782316a2a4bf5ddcf4ef4fdf731ac67" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b5d314542da3ee66c66ce56bcb818028", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87266, "upload_time": "2013-04-25T19:38:40", "url": "https://files.pythonhosted.org/packages/2d/d0/10320874296194ffafa58167cf780e0c05c8769b663d9c5ae03bcac31bbd/django-proxylist-for-grab-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "02a055d1e2c038b713b4c413fb3dc34c", "sha256": "b751c9141597f9d37d6127b03fe39881fc8535cf6bcf1429c79af045bbdc4c2d" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.2.1.tar.gz", "has_sig": false, "md5_digest": "02a055d1e2c038b713b4c413fb3dc34c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89391, "upload_time": "2013-04-26T08:54:21", "url": "https://files.pythonhosted.org/packages/de/9a/9ed02f352dd35aa50b842a7299198c3c9105919b7ab21ab44df664656d51/django-proxylist-for-grab-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "cbaebcdbc9992facaf4a27bca1d60117", "sha256": "673b146ae0a2d8f1d2ea2f23e78f7c63be7b962333fc84229136f822a679fe87" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.3.0.tar.gz", "has_sig": false, "md5_digest": "cbaebcdbc9992facaf4a27bca1d60117", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91144, "upload_time": "2013-04-26T15:43:33", "url": "https://files.pythonhosted.org/packages/01/45/d755ef91d1e6e8d3156cbedb1613fa01a89fbadf2cb66ef5320427b07da5/django-proxylist-for-grab-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "07277461f157f7edab34ea00d4627fac", "sha256": "47fa48798e96a0ab31c6c97fed531a5533ec15813aadb063900dd64add845ab8" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.3.1.tar.gz", "has_sig": false, "md5_digest": "07277461f157f7edab34ea00d4627fac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92786, "upload_time": "2013-04-26T18:50:44", "url": "https://files.pythonhosted.org/packages/47/99/f0def50f3050e079768f702d2e1aa39e3c0a8a4e41a32ad80ed96a214101/django-proxylist-for-grab-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f466f57db6a66262c0c691b7b576d070", "sha256": "9cc562bd72c9c84f215e4b2c9cc6ab384cd0c05a4cae962115d5cdce8ec665db" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f466f57db6a66262c0c691b7b576d070", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93182, "upload_time": "2013-04-27T00:51:53", "url": "https://files.pythonhosted.org/packages/81/ad/60011dd75693759fbcbb496cf9afc347a197c9f555592ee2569e8db96320/django-proxylist-for-grab-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "0e0c0abac8d53c5ec4018632f823707c", "sha256": "dcf3cdaac6e6830d654466f9bbeeafc6c1ad606c7c274ac18d43e127332d86f5" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.3.3.tar.gz", "has_sig": false, "md5_digest": "0e0c0abac8d53c5ec4018632f823707c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95118, "upload_time": "2013-04-27T23:28:54", "url": "https://files.pythonhosted.org/packages/20/66/db5faed0e793586c718fbc02b54651995b8bb2cb656e09f5fd81e84b7396/django-proxylist-for-grab-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "6eec8091b52c03cb2c9b38978c7c0bba", "sha256": "46938bc6f1261851c3438c267eeed1aa1926911e8196db896200471482479d9a" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.3.4.tar.gz", "has_sig": false, "md5_digest": "6eec8091b52c03cb2c9b38978c7c0bba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92186, "upload_time": "2013-05-28T11:31:17", "url": "https://files.pythonhosted.org/packages/6d/d1/a5174e5c2eefc323b81acf4a09097c890b10635288d0435e65baab7ca302/django-proxylist-for-grab-0.3.4.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "7bfe72e551a079a9bd10ac5fdbb231f3", "sha256": "3ecf150692c29c30265227c5c01300c977bc5b9c10118149d6cefb2372ebf752" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.4.0.tar.gz", "has_sig": false, "md5_digest": "7bfe72e551a079a9bd10ac5fdbb231f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 93655, "upload_time": "2013-06-06T08:51:50", "url": "https://files.pythonhosted.org/packages/52/29/173e3d721aeefa780491d3c4a8c0f33bc7b0e68f1eae5902d70aeaf7e0de/django-proxylist-for-grab-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b398df5e30a5dad0738471000dff142f", "sha256": "a240d3f7c64a6cc244725d4f99d63e44df6495b74203b3122b04f0501c93cc20" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.4.1.tar.gz", "has_sig": false, "md5_digest": "b398df5e30a5dad0738471000dff142f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102053, "upload_time": "2013-11-12T19:57:33", "url": "https://files.pythonhosted.org/packages/ba/24/3541b0f413c275f3f1da6de3fc554623564f502fa82005aba59ad0975c96/django-proxylist-for-grab-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "e95d37a94f16bb4a4f78a89b67ec0a3b", "sha256": "808738c54604386a701481260ccbed5411beed2a445d6313744f1d9d389c2b01" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.4.2.tar.gz", "has_sig": true, "md5_digest": "e95d37a94f16bb4a4f78a89b67ec0a3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102073, "upload_time": "2013-12-16T13:13:53", "url": "https://files.pythonhosted.org/packages/44/77/c3dc7b34931b66327b51cab6960f84e348b7100eda3cb32be2e12154bb5a/django-proxylist-for-grab-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "e9fff2fe5d41603f06498838bdc40b37", "sha256": "0bc889cb06dcd45e52f394ba2dde8e6eb80ba74786f210d770649b1f570ac6b0" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.4.3.tar.gz", "has_sig": true, "md5_digest": "e9fff2fe5d41603f06498838bdc40b37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102559, "upload_time": "2013-12-25T09:06:51", "url": "https://files.pythonhosted.org/packages/60/d3/7455b43b7483c29827100b2d4359a01c87973cb44a55ca96afacef67ef03/django-proxylist-for-grab-0.4.3.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "cb63caf538d9ebe5f3e5211696bf512a", "sha256": "3fa7b2f980c2c1d9eb1ff69156d7b28d5bbcd92cecb4e68bff04e864323ac24e" }, "downloads": -1, "filename": "django_proxylist_for_grab-0.5.1-py2-none-any.whl", "has_sig": true, "md5_digest": "cb63caf538d9ebe5f3e5211696bf512a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 113796, "upload_time": "2014-12-16T20:03:17", "url": "https://files.pythonhosted.org/packages/d6/ba/41a5e0949503a95bfada4595639fbd99b35f3d36be34d29e7903a37132c9/django_proxylist_for_grab-0.5.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b412894473006d81091deb777e093962", "sha256": "a992d13cf786bb291de122317d769a5b49ddbc836cb714ca818e0f19ac47655b" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.5.1.tar.gz", "has_sig": true, "md5_digest": "b412894473006d81091deb777e093962", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94894, "upload_time": "2014-12-16T20:03:10", "url": "https://files.pythonhosted.org/packages/a6/db/554108e9940ca0bfbe1bfab70942d0367face8cb3b5a5c88661c12f7767f/django-proxylist-for-grab-0.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cb63caf538d9ebe5f3e5211696bf512a", "sha256": "3fa7b2f980c2c1d9eb1ff69156d7b28d5bbcd92cecb4e68bff04e864323ac24e" }, "downloads": -1, "filename": "django_proxylist_for_grab-0.5.1-py2-none-any.whl", "has_sig": true, "md5_digest": "cb63caf538d9ebe5f3e5211696bf512a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 113796, "upload_time": "2014-12-16T20:03:17", "url": "https://files.pythonhosted.org/packages/d6/ba/41a5e0949503a95bfada4595639fbd99b35f3d36be34d29e7903a37132c9/django_proxylist_for_grab-0.5.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b412894473006d81091deb777e093962", "sha256": "a992d13cf786bb291de122317d769a5b49ddbc836cb714ca818e0f19ac47655b" }, "downloads": -1, "filename": "django-proxylist-for-grab-0.5.1.tar.gz", "has_sig": true, "md5_digest": "b412894473006d81091deb777e093962", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94894, "upload_time": "2014-12-16T20:03:10", "url": "https://files.pythonhosted.org/packages/a6/db/554108e9940ca0bfbe1bfab70942d0367face8cb3b5a5c88661c12f7767f/django-proxylist-for-grab-0.5.1.tar.gz" } ] }