# pyppeteerstealth
A bunch of hacks from different websites
**Does not yet pass https://arh.antoinevastel.com/bots/areyouheadless**
If you know what is missing, please make a PR!
If you compare loading https://arh.antoinevastel.com/bots/ in your application, versus in your browser you might be able
to see what is required to get the fingerprint closer to a "normal" browser (further away from a "headless" browser)
This is intended to be used with https://github.com/dgtlmoon/pyppeteer-ng and is also part of the
https://changedetection.io project.
```python
browser = await pyppeteer_instance.connect(browserWSEndpoint="ws://127.0.0.1:3000",
ignoreHTTPSErrors=True
)
self.page = (pages := await browser.pages) and len(pages) or await browser.newPage()
await self.page.setUserAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36")
try:
from pyppeteerstealth import inject_evasions_into_page
except ImportError:
logger.debug("pyppeteerstealth module not available, skipping")
pass
else:
await inject_evasions_into_page(self.page)
response = await self.page.goto("https://example.com", waitUntil="load")
```
Last report from https://bot.sannysoft.com/
![last fingerprint status](assets/last-screenshot.png "Last fingerprint status")
Raw data
{
"_id": null,
"home_page": "https://github.com/dgtlmoon/pyppeteerstealth",
"name": "pyppeteerstealth",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "pyppeteer,puppeteer,chrome,chromium,pyppeteerstealth,stealth,robot,captcha",
"author": "",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/88/55/b13ef25ffdea28576944c328c3326ba385eba82666da55871a878cf7e607/pyppeteerstealth-0.0.3.tar.gz",
"platform": null,
"description": "# pyppeteerstealth\n\nA bunch of hacks from different websites\n\n**Does not yet pass https://arh.antoinevastel.com/bots/areyouheadless**\n\nIf you know what is missing, please make a PR!\n\nIf you compare loading https://arh.antoinevastel.com/bots/ in your application, versus in your browser you might be able\nto see what is required to get the fingerprint closer to a \"normal\" browser (further away from a \"headless\" browser)\n\nThis is intended to be used with https://github.com/dgtlmoon/pyppeteer-ng and is also part of the \nhttps://changedetection.io project.\n\n```python\nbrowser = await pyppeteer_instance.connect(browserWSEndpoint=\"ws://127.0.0.1:3000\",\n ignoreHTTPSErrors=True\n )\n\nself.page = (pages := await browser.pages) and len(pages) or await browser.newPage()\nawait self.page.setUserAgent(\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36\")\n\ntry:\n from pyppeteerstealth import inject_evasions_into_page\nexcept ImportError:\n logger.debug(\"pyppeteerstealth module not available, skipping\")\n pass\nelse:\n await inject_evasions_into_page(self.page)\n\nresponse = await self.page.goto(\"https://example.com\", waitUntil=\"load\")\n```\n\nLast report from https://bot.sannysoft.com/\n\n![last fingerprint status](assets/last-screenshot.png \"Last fingerprint status\")\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A general collection of robot-evading tweaks for pyppeteer-ng",
"version": "0.0.3",
"project_urls": {
"Bug Tracker": "https://github.com/dgtlmoon/pyppeteerstealth/issues",
"Homepage": "https://github.com/dgtlmoon/pyppeteerstealth",
"Repository": "https://github.com/dgtlmoon/pyppeteerstealth"
},
"split_keywords": [
"pyppeteer",
"puppeteer",
"chrome",
"chromium",
"pyppeteerstealth",
"stealth",
"robot",
"captcha"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fa84ea15520ec5bb0454204731afc072857217af70060b5e9017a58d4c5311ba",
"md5": "e3b6ade19f6ce6b9b81bf79ae4d1dbd2",
"sha256": "bcf0db4ce016b79f9f5807f2645576967884177b54c081e5d286b7baa138e809"
},
"downloads": -1,
"filename": "pyppeteerstealth-0.0.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e3b6ade19f6ce6b9b81bf79ae4d1dbd2",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10324,
"upload_time": "2024-02-20T18:35:08",
"upload_time_iso_8601": "2024-02-20T18:35:08.915465Z",
"url": "https://files.pythonhosted.org/packages/fa/84/ea15520ec5bb0454204731afc072857217af70060b5e9017a58d4c5311ba/pyppeteerstealth-0.0.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8855b13ef25ffdea28576944c328c3326ba385eba82666da55871a878cf7e607",
"md5": "f6bfc7efebbcee29a9d3da91cb836996",
"sha256": "864d0875acec4de41b5cfd56d9955fd99240a90c5c1f0a4e886a87253b60b1df"
},
"downloads": -1,
"filename": "pyppeteerstealth-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "f6bfc7efebbcee29a9d3da91cb836996",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9527,
"upload_time": "2024-02-20T18:35:11",
"upload_time_iso_8601": "2024-02-20T18:35:11.078660Z",
"url": "https://files.pythonhosted.org/packages/88/55/b13ef25ffdea28576944c328c3326ba385eba82666da55871a878cf7e607/pyppeteerstealth-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-20 18:35:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dgtlmoon",
"github_project": "pyppeteerstealth",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyppeteerstealth"
}