{ "info": { "author": "Peter Wittek", "author_email": "peterwittek@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "HappyCowler\n===========\nHappyCowler is a crawler and parser for extracting geospatial data from `HappyCow.net `_ that liberates vegans and vegetarians from having to access the Internet while looking for a restaurant. The script crawls the descriptions and coordinates from the website and generates a GPX or KML file with the extracted information. Currently, the GPX file is tuned for `Osmand `_.\n\nThe primary reason for this crawler is that HappyCow is impossible to use on a mobile browser. While apps are available, they require the presence of proprietary applications such as Google Play. Furthermore, a payment is also required. Thus it is not possible to obtain the app without sacrificing your privacy. By crawling the database, we obtain an offline file that can be used with a GPS app of your choice, without need for Internet access while on the go.\n\nDependencies\n============\nThe script works with both Python 2 and 3. It relies on `BeautifulSoup4 `_ for HTML parsing.\n\nUsage\n=====\nOn the command line, the script takes two parameters. The first is a URL for the results page of a city. The second is the name of the GPX or KML file. For example:\n\n``$ happycowl http://www.happycow.net/asia/japan/tokyo/ Tokyo_Restaurants.gpx``\n\nThe type of the file is determined by the extension of the filename. Once the scraping finished, copy the file to your phone where your mapping app can find it. For instance, in Osmand, the contents of the folder ``osmand/tracks`` can easily be put on the map.\n\nYou can also use it as a module. In this case, instantiate the class `HappyCow(city_url, target_file=None, verbose=0)`. Then you can start crawling by calling the `crawl()` method of the class.\n\n\nInstallation\n============\nThe code is available on PyPI, hence it can be installed by\n\n``$ pip install happycowler``\n\nFor the development version, clone it from git and follow the standard\nprocedure for installing Python modules from source:\n\n``$ python setup.py install``\n\nDisclaimer\n==========\nIt is conceivable that crawling HappyCow is illegal.\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/peterwittek/happycowler/", "keywords": "vegan", "license": "LICENSE", "maintainer": "", "maintainer_email": "", "name": "happycowler", "package_url": "https://pypi.org/project/happycowler/", "platform": "", "project_url": "https://pypi.org/project/happycowler/", "project_urls": { "Homepage": "https://github.com/peterwittek/happycowler/" }, "release_url": "https://pypi.org/project/happycowler/0.2.4/", "requires_dist": null, "requires_python": "", "summary": "Crawl the HappyCow database to GPX or KML files for offline use.", "version": "0.2.4" }, "last_serial": 3123110, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "42dccf9bf731012d0cbb585782eda084", "sha256": "7a83739ed49e125c0b06ca7ae7171ab3e953f0c89fd07d08341a20f26934e9c5" }, "downloads": -1, "filename": "happycowler-0.2.tar.gz", "has_sig": false, "md5_digest": "42dccf9bf731012d0cbb585782eda084", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17463, "upload_time": "2016-08-06T17:31:00", "url": "https://files.pythonhosted.org/packages/74/b2/4e9f17f0d97f3c38dab5da4ad64b58bfbe573f799130b39e3636c9e589e7/happycowler-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "482f255b2758d4a1fdb11b18e7ca182a", "sha256": "ab5cfbad9bcf3e495ec54263f462dcbc37d9cd880f3e1eac4f3f530c7bcebea0" }, "downloads": -1, "filename": "happycowler-0.2.1.tar.gz", "has_sig": false, "md5_digest": "482f255b2758d4a1fdb11b18e7ca182a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17603, "upload_time": "2016-08-06T20:35:08", "url": "https://files.pythonhosted.org/packages/9a/82/eb1110237a717b0a0eb766533bdbe654615c944bd116ad8e06812f7f9350/happycowler-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "3d7a29f6383c1aeace25c853384bc9b7", "sha256": "e1b3c421c99f8ec65d65f788bc5304bc97f5ab0e06b74e6d05ae92b2168e1f92" }, "downloads": -1, "filename": "happycowler-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3d7a29f6383c1aeace25c853384bc9b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18019, "upload_time": "2016-08-06T23:36:35", "url": "https://files.pythonhosted.org/packages/a1/73/a3d719d0f73625e8a63385e4c46a5e1de130ca4a7cc86e080484bf0ec9cc/happycowler-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "eb3226ca365b8a377d7643db754f404e", "sha256": "65620b5fdb0feb6a8beb72642cf7af25954e1432e3dfcdedfe561c849dfddc11" }, "downloads": -1, "filename": "happycowler-0.2.3.tar.gz", "has_sig": false, "md5_digest": "eb3226ca365b8a377d7643db754f404e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18762, "upload_time": "2016-09-17T14:32:45", "url": "https://files.pythonhosted.org/packages/22/db/fdcd954a8ec4b5730133c04ea622cc28898ba3a7b8eab93bd94dd3d44d3f/happycowler-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "4252cdbd5cb40ad281d29bba5f5a6a5a", "sha256": "9b85b141fa8670117a8aa19cc2e907e95d0e2b36d7e923e5bb636ee3476e8c96" }, "downloads": -1, "filename": "happycowler-0.2.4.tar.gz", "has_sig": false, "md5_digest": "4252cdbd5cb40ad281d29bba5f5a6a5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85093, "upload_time": "2017-08-25T13:54:34", "url": "https://files.pythonhosted.org/packages/ce/8d/b79de9f258aea99108aeb753e0d2212c415b3a87b8bb73a636257b8d74fa/happycowler-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4252cdbd5cb40ad281d29bba5f5a6a5a", "sha256": "9b85b141fa8670117a8aa19cc2e907e95d0e2b36d7e923e5bb636ee3476e8c96" }, "downloads": -1, "filename": "happycowler-0.2.4.tar.gz", "has_sig": false, "md5_digest": "4252cdbd5cb40ad281d29bba5f5a6a5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85093, "upload_time": "2017-08-25T13:54:34", "url": "https://files.pythonhosted.org/packages/ce/8d/b79de9f258aea99108aeb753e0d2212c415b3a87b8bb73a636257b8d74fa/happycowler-0.2.4.tar.gz" } ] }