{ "info": { "author": "lich666dead", "author_email": "lich666black@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: Russian", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "\nBasiliskJS - Scriptable Headless WebKit\n=========================\n\n`BasiliskJS `_ \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 WebKit \u0434\u043b\u044f python, \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 `PhantomJS `_ .\n\n\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\n============\n\n- **\u0411\u044b\u0441\u0442\u0440\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435**. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430!\n- **\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f dom**. \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.\n- **\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 js**. \u0415\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c JavaScript, \u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446.\n- **\u0417\u0430\u0445\u0432\u0430\u0442 \u044d\u043a\u0440\u0430\u043d\u0430**. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043d\u0438\u043c\u043e\u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043b\u044e\u0431\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430.\n\n\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u044b\n-------------\n\u041f\u0440\u043e\u0441\u0442\u043e\u0439 get \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 https://github.com/lich666dead/BasiliskJS.\n\n.. code-block:: python\n\n >>> from basilisk import PhantomJS\n >>> PhantomJS().get(\"https://github.com/lich666dead/BasiliskJS\")\n {'status': 'success', 'urls': ['https://github.com/lich666dead/BasiliskJS']}\n\n\u041f\u0440\u043e\u0441\u0442\u043e\u0439 post \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 https://github.com/lich666dead/BasiliskJS.\n\n.. code-block:: python\n\n >>> from basilisk import PhantomJS\n >>> PhantomJS().post(\"https://github.com/lich666dead/BasiliskJS\", {'post_data': 'post_data'})\n {'status': 'success', 'urls': ['https://github.com/lich666dead/BasiliskJS']}\n\n\u0417\u0430\u043f\u0440\u043e\u0441 \u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c js.\n\n.. code-block:: python\n\n from basilisk import PhantomJS\n\n js = '''\n var temp = {};\n for (var i = 0; i != document.getElementsByClassName('nav-item-name').length; i++) {\n temp[i] = document.getElementsByClassName('nav-item-name')[i].innerText;\n }\n return temp;\n '''\n bs = PhantomJS()\n\n bs.evaluate(js)\n\n print(bs.get(\"http://phantomjs.org/documentation/\"))\n\n result = {\n 'status': 'success',\n 'js': {\n '0': 'Download', '1': 'Build',\n '2': 'Releases', '3': 'Release Names',\n '4': 'REPL', '5': 'Quick Start',\n '6': 'Headless Testing', '7': 'Screen Capture',\n '8': 'Network Monitoring', '9': 'Page Automation',\n '10': 'Inter Process Communication', '11': 'Command Line Interface',\n '12': 'Troubleshooting', '13': 'FAQ',\n '14': 'Examples', '15': 'Best Practices',\n '16': 'Tips and Tricks', '17': 'Supported Web Standards',\n '18': 'Buzz', '19': \"Who's using PhantomJS?\",\n '20': 'Related Projects', '21': 'Contributing',\n '22': 'Source Code', '23': 'Test Suite',\n '24': 'Release Preparation', '25': 'Crash Reporting',\n '26': 'Bug Reporting'\n },\n 'urls': ['http://phantomjs.org/documentation/']\n }\n\n\n\u041c\u0435\u0442\u043e\u0434 include_js \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u0443\u044e js \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443.\n\n.. code-block:: python\n\n\n from basilisk import PhantomJS\n\n js = '''\n var $loginForm = $('form#login');\n $loginForm.find('input[name=\"username\"]').value('phantomjs');\n $loginForm.find('input[name=\"password\"]').value('c45p3r');'''\n\n bs = PhantomJS()\n\n bs.include_js(\"https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js\")\n\n bs.evaluate(js)\n\n bs.get(\"http://phantomjs.org/documentation/\")\n\n\n\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c html \u043a\u043e\u043d\u0442\u0435\u043d\u0442:\n\n.. code-block:: python\n\n\n >>> from basilisk import PhantomJS\n >>> PhantomJS(content=True).get('http://phantomjs.org/')\n\n\n\u0421\u043e\u0431\u044b\u0442\u0438\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 (conversion). \u042d\u0442\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0438.\n\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c, \u044d\u0442\u0438\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e,\n\u0438\u043d\u0430\u0447\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0432\u0430\u043d\u0438\u0435.\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c:\n\n.. code-block:: python\n\n\n from basilisk import PhantomJS\n\n js = '''\n document.getElementById('projectUrl1').value = 'phantomjs.org';\n document.getElementById('button1').click();'''\n\n bs = PhantomJS(conversion=2)\n\n bs.evaluate(js)\n\n print(bs.get(\"https://altrumseo.ru/\"))\n\n result = {'status': 'success', 'js': None, 'urls': ['https://altrumseo.ru/', 'https://altrumseo.ru/analitics/']}\n\n\u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0443 \u043d\u0430\u0441 \u0432 \u043c\u0430\u0441\u0438\u0432\u0435 2 url, \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430\n\u0441\u043e\u0431\u044b\u0442\u0438\u0435, \u0437\u0430\u0432\u0438\u0441\u0438\u0449\u0438\u0435 \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 (conversion).\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0435\u0441\u043b\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 conversion=3, \u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0437\u0430\u0446\u0438\u043a\u043b\u0438\u0442\u0441\u044f!\n\n\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430:\n------------- \n- **url**. - url \u0434\u043b\u044f get \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\n- **content**. - \u041f\u0430\u043a\u0430\u0437\u0430\u0442\u044c content, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e( False ).\n- **image_size**. - \u0420\u0430\u0437\u043c\u0435\u0440 \u0438\u0437\u043e\u0431\u0440\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e( {'width': 1920, 'height': 1080} ).\n- **add_cookie**. - \u0414\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c cookie.\n- **screenshot**. - \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e( False ).\n- **image_name**. - \u041f\u0443\u0442\u044c, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f.\n- **get_cookies**. - \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c cookies, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e( False ).\n- **user_agent**. - \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c user-agent.\n- **load_images**. - \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e( False ).\n- **command**. - \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u0443\u0442\u044c \u043a \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443 phantomjs.\n- **conversion**. - \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.\n\n\n\u0420\u0430\u0437\u0432\u0438\u0442\u0438\u0435\n------------- \n\u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u044f \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 Pre-Alpha. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0438 \u0442.\u0434.\n ", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/lich666dead/BasiliskJS/archive/master.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/lich666dead/BasiliskJS", "keywords": "", "license": "GNU General Public License v3 (GPLv3)", "maintainer": "", "maintainer_email": "", "name": "BasiliskJS", "package_url": "https://pypi.org/project/BasiliskJS/", "platform": "any", "project_url": "https://pypi.org/project/BasiliskJS/", "project_urls": { "Download": "https://github.com/lich666dead/BasiliskJS/archive/master.zip", "Homepage": "https://github.com/lich666dead/BasiliskJS" }, "release_url": "https://pypi.org/project/BasiliskJS/0.8/", "requires_dist": null, "requires_python": "", "summary": "Web browser emulator, based on PhantomJS", "version": "0.8" }, "last_serial": 3464298, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "406adb05da1d9e3a5f8b78373c5e6839", "sha256": "1684b48244fc785c87aaeb3cd01a8d185b2e630b179ed3fa818038f3fca87840" }, "downloads": -1, "filename": "BasiliskJS-0.5.tar.gz", "has_sig": false, "md5_digest": "406adb05da1d9e3a5f8b78373c5e6839", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4284, "upload_time": "2017-11-30T07:18:07", "url": "https://files.pythonhosted.org/packages/6d/50/7641231bedd0e1012288dfacd9ecaca8f6bfadb97644813b82f3853f9187/BasiliskJS-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "fa610cd4dfc7310ad05dba53cc2b90ea", "sha256": "e718d655699e0d85e25d5c2777379388b1f909f380be12023e068c489d013ad0" }, "downloads": -1, "filename": "BasiliskJS-0.6.tar.gz", "has_sig": false, "md5_digest": "fa610cd4dfc7310ad05dba53cc2b90ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4525, "upload_time": "2017-12-11T07:47:35", "url": "https://files.pythonhosted.org/packages/37/56/9fc0e185fec8720ab3b68ad4a87235696d4c0dff150e9f67d7107e3698f0/BasiliskJS-0.6.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "b406488e5d42ba958b0549b0de1766f6", "sha256": "f42d648b8b4c47e667080dbe8244e352c7a6f5165e72b330e31c85ae45398c9e" }, "downloads": -1, "filename": "BasiliskJS-0.8.tar.gz", "has_sig": false, "md5_digest": "b406488e5d42ba958b0549b0de1766f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8643, "upload_time": "2018-01-05T10:40:26", "url": "https://files.pythonhosted.org/packages/76/11/aa669e437f0d2ab0a2ffcd8e1517f542965613a4a46d083028e465958531/BasiliskJS-0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b406488e5d42ba958b0549b0de1766f6", "sha256": "f42d648b8b4c47e667080dbe8244e352c7a6f5165e72b330e31c85ae45398c9e" }, "downloads": -1, "filename": "BasiliskJS-0.8.tar.gz", "has_sig": false, "md5_digest": "b406488e5d42ba958b0549b0de1766f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8643, "upload_time": "2018-01-05T10:40:26", "url": "https://files.pythonhosted.org/packages/76/11/aa669e437f0d2ab0a2ffcd8e1517f542965613a4a46d083028e465958531/BasiliskJS-0.8.tar.gz" } ] }