|
14 | 14 | <meta property="og:title" content="Pydoll - Automate the Web, naturally" />
|
15 | 15 | <meta property="og:description" content="Browser automation for web scraping with human-like interactions, browser-context requests and captcha bypass (Cloudflare, reCAPTCHA)." />
|
16 | 16 | <meta property="og:type" content="website" />
|
17 |
| - <meta property="og:image" content="https://github.com/user-attachments/assets/219f2dbc-37ed-4aea-a289-ba39cdbb335d" /> |
| 17 | + <meta property="og:image" content="https://pydoll.tech/images/E2ECED-cinza-azulado.png" /> |
18 | 18 | <meta property="og:url" content="https://pydoll.tech/" />
|
19 | 19 | <meta property="og:site_name" content="Pydoll" />
|
20 | 20 | <meta property="og:locale" content="en_US" />
|
|
24 | 24 | <meta name="twitter:card" content="summary_large_image" />
|
25 | 25 | <meta name="twitter:title" content="Pydoll - Automate the Web, naturally" />
|
26 | 26 | <meta name="twitter:description" content="Browser automation for web scraping, browser-context requests and captcha bypass (Cloudflare, reCAPTCHA)." />
|
27 |
| - <meta name="twitter:image" content="https://github.com/user-attachments/assets/219f2dbc-37ed-4aea-a289-ba39cdbb335d" /> |
| 27 | + <meta name="twitter:image" content="https://pydoll.tech/images/E2ECED-cinza-azulado.png" /> |
28 | 28 |
|
29 | 29 | <!-- Performance hints -->
|
30 | 30 | <link rel="preconnect" href="https://cdn.tailwindcss.com" />
|
31 | 31 | <link rel="preconnect" href="https://cdn.jsdelivr.net" />
|
32 |
| - <link rel="preconnect" href="https://github.com" crossorigin /> |
33 | 32 | <link rel="preconnect" href="https://pydoll.tech/" />
|
34 | 33 |
|
35 | 34 | <!-- Favicon -->
|
|
42 | 41 | {
|
43 | 42 | "@context": "https://schema.org",
|
44 | 43 | "@graph": [
|
| 44 | + { |
| 45 | + "@type": "Organization", |
| 46 | + "@id": "https://pydoll.tech/#org", |
| 47 | + "name": "Pydoll", |
| 48 | + "url": "https://pydoll.tech/", |
| 49 | + "logo": { |
| 50 | + "@type": "ImageObject", |
| 51 | + "url": "https://pydoll.tech/images/E2ECED-cinza-azulado.png" |
| 52 | + }, |
| 53 | + "sameAs": [ |
| 54 | + "https://github.com/autoscrape-labs/pydoll", |
| 55 | + "https://pypi.org/project/pydoll-python/", |
| 56 | + ] |
| 57 | + }, |
45 | 58 | {
|
46 | 59 | "@type": "WebSite",
|
47 | 60 | "@id": "https://pydoll.tech/#website",
|
48 | 61 | "name": "Pydoll",
|
49 | 62 | "url": "https://pydoll.tech/",
|
| 63 | + "publisher": { "@id": "https://pydoll.tech/#org" }, |
| 64 | + "inLanguage": "en", |
50 | 65 | "potentialAction": {
|
51 | 66 | "@type": "SearchAction",
|
52 | 67 | "target": "https://pydoll.tech/docs/search/?q={search_term_string}",
|
|
57 | 72 | "@type": "WebPage",
|
58 | 73 | "@id": "https://pydoll.tech/#webpage",
|
59 | 74 | "url": "https://pydoll.tech/",
|
60 |
| - "name": "Pydoll - Async Web Automation Library", |
| 75 | + "name": "Pydoll - Automate the Web, naturally", |
61 | 76 | "isPartOf": { "@id": "https://pydoll.tech/#website" },
|
62 |
| - "description": "Browser automation (CDP) for web scraping with human-like interactions, browser-context requests and captcha bypass (Cloudflare, reCAPTCHA)." |
| 77 | + "about": { "@id": "https://pydoll.tech/#software" }, |
| 78 | + "description": "Pydoll is a Python CDP browser automation library for web scraping, with human-like interactions, browser-context requests, and CAPTCHA handling." |
63 | 79 | },
|
64 | 80 | {
|
65 | 81 | "@type": "SoftwareApplication",
|
|
68 | 84 | "applicationCategory": "DeveloperApplication",
|
69 | 85 | "operatingSystem": "Windows, macOS, Linux",
|
70 | 86 | "programmingLanguage": "Python",
|
71 |
| - "url": "https://github.com/autoscrape-labs/pydoll", |
72 |
| - "image": "https://github.com/user-attachments/assets/219f2dbc-37ed-4aea-a289-ba39cdbb335d", |
73 |
| - "description": "Browser automation (CDP) for web scraping with human-like interactions, browser-context requests and captcha bypass (Cloudflare, reCAPTCHA).", |
74 |
| - "keywords": [ |
75 |
| - "pydoll", |
76 |
| - "browser automation", |
77 |
| - "web automation", |
78 |
| - "web scraping", |
79 |
| - "data extraction", |
80 |
| - "crawler", |
81 |
| - "headless browser", |
82 |
| - "chrome devtools protocol", |
83 |
| - "python cdp", |
84 |
| - "playwright", |
85 |
| - "puppeteer", |
86 |
| - "selenium alternative", |
87 |
| - "antibot", |
88 |
| - "captcha bypass", |
89 |
| - "cloudflare turnstile", |
90 |
| - "recaptcha", |
91 |
| - "async python", |
92 |
| - "automation library", |
93 |
| - "scraping framework" |
94 |
| - ], |
| 87 | + "url": "https://pydoll.tech/", |
| 88 | + "image": "https://pydoll.tech/images/E2ECED-cinza-azulado.png", |
| 89 | + "description": "Python library for browser automation via Chrome DevTools Protocol (CDP), with human-like interactions, browser-context requests, and CAPTCHA handling.", |
| 90 | + "publisher": { "@id": "https://pydoll.tech/#org" }, |
95 | 91 | "offers": {
|
96 | 92 | "@type": "Offer",
|
97 | 93 | "price": "0",
|
98 | 94 | "priceCurrency": "USD"
|
99 |
| - } |
100 |
| - }, |
101 |
| - { |
102 |
| - "@type": "SoftwareSourceCode", |
103 |
| - "name": "Pydoll", |
| 95 | + }, |
104 | 96 | "codeRepository": "https://github.com/autoscrape-labs/pydoll",
|
105 |
| - "programmingLanguage": "Python", |
106 |
| - "license": "https://github.com/autoscrape-labs/pydoll/blob/main/LICENSE", |
107 |
| - "description": "Python library for browser automation via Chrome DevTools Protocol (CDP), with human-like interactions, browser-context requests and captcha bypass (Cloudflare, reCAPTCHA).", |
| 97 | + "sameAs": [ |
| 98 | + "https://github.com/autoscrape-labs/pydoll", |
| 99 | + "https://pypi.org/project/pydoll-python/" |
| 100 | + ], |
108 | 101 | "keywords": [
|
109 |
| - "pydoll", |
| 102 | + "Pydoll", |
110 | 103 | "browser automation",
|
111 | 104 | "web scraping",
|
112 |
| - "chrome devtools protocol", |
113 |
| - "async python", |
114 |
| - "captcha bypass" |
115 |
| - ], |
116 |
| - "url": "https://pydoll.tech/" |
| 105 | + "Chrome DevTools Protocol", |
| 106 | + "async Python", |
| 107 | + "captcha" |
| 108 | + ] |
117 | 109 | },
|
118 | 110 | {
|
119 | 111 | "@type": "FAQPage",
|
| 112 | + "@id": "https://pydoll.tech/#faq", |
120 | 113 | "mainEntity": [
|
121 | 114 | {
|
122 | 115 | "@type": "Question",
|
|
131 | 124 | "name": "Can Pydoll handle CAPTCHAs like Cloudflare Turnstile or reCAPTCHA v3?",
|
132 | 125 | "acceptedAnswer": {
|
133 | 126 | "@type": "Answer",
|
134 |
| - "text": "It provides human-like interactions (movement, click, typing) and a helper to attempt Turnstile bypass. Effectiveness depends on IP reputation and interaction pattern. Combine with quality proxies and good navigation practices." |
135 |
| - } |
136 |
| - }, |
137 |
| - { |
138 |
| - "@type": "Question", |
139 |
| - "name": "What are browser-context requests and when to use them?", |
140 |
| - "acceptedAnswer": { |
141 |
| - "@type": "Answer", |
142 |
| - "text": "With tab.request you perform HTTP in the same tab context: cookies, session and CORS are automatically inherited. Ideal for hybrid automation — log in via UI and then call authenticated application APIs." |
143 |
| - } |
144 |
| - }, |
145 |
| - { |
146 |
| - "@type": "Question", |
147 |
| - "name": "What are the practical differentiators: concurrency, events and preferences?", |
148 |
| - "acceptedAnswer": { |
149 |
| - "@type": "Answer", |
150 |
| - "text": "Concurrency with asyncio.gather, reactive events (Page/Network/Runtime) for responsive automations and browser preferences control for silent downloads, languages and more." |
| 127 | + "text": "It provides human-like interactions and a helper to attempt Turnstile bypass. Effectiveness depends on IP reputation and interaction patterns. Combine with quality proxies and good navigation practices." |
151 | 128 | }
|
152 | 129 | }
|
153 | 130 | ]
|
|
206 | 183 | <div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
207 | 184 | <div class="flex h-16 items-center justify-between">
|
208 | 185 | <a href="https://github.com/autoscrape-labs/pydoll" target="_blank" rel="noopener" class="flex items-center gap-3">
|
209 |
| - <img src="https://github.com/user-attachments/assets/219f2dbc-37ed-4aea-a289-ba39cdbb335d" alt="Pydoll" class="h-8 w-auto" /> |
| 186 | + <img src="https://pydoll.tech/images/E2ECED-cinza-azulado.png" alt="Pydoll" class="h-8 w-auto" /> |
210 | 187 |
|
211 | 188 | </a>
|
212 | 189 | <nav class="flex items-center gap-2 sm:gap-3">
|
|
230 | 207 | <div class="mx-auto max-w-7xl px-4 pb-12 pt-16 sm:pb-16 sm:pt-24 lg:flex lg:items-center lg:gap-12 lg:px-8">
|
231 | 208 | <div class="mx-auto max-w-2xl lg:mx-0 lg:flex-auto">
|
232 | 209 | <h1 class="text-4xl font-bold tracking-tight sm:text-6xl">
|
233 |
| - Automate the Web, naturally |
| 210 | + Pydoll: Automate the Web, naturally |
234 | 211 | </h1>
|
235 | 212 | <p class="mt-6 text-lg leading-8 text-slate-300">
|
236 | 213 | Pydoll connects directly to the Chrome DevTools Protocol. No WebDrivers, with human-like interactions, asynchronous performance and the ability to handle behavioral CAPTCHAs
|
@@ -584,8 +561,8 @@ <h4 class="text-lg font-semibold">Enjoying Pydoll?</h4>
|
584 | 561 | <div class="mx-auto max-w-7xl px-4 py-10 sm:px-6 lg:px-8">
|
585 | 562 | <div class="flex flex-col items-center justify-between gap-4 sm:flex-row">
|
586 | 563 | <div class="flex items-center gap-3">
|
587 |
| - <img src="https://github.com/user-attachments/assets/219f2dbc-37ed-4aea-a289-ba39cdbb335d" alt="Pydoll" class="h-6 w-auto" /> |
588 |
| - <p class="text-sm text-slate-400">Pydoll — making browser automation magical ✨</p> |
| 564 | + <img src="https://pydoll.tech/images/E2ECED-cinza-azulado.png" alt="Pydoll" class="h-6 w-auto" /> |
| 565 | + <p class="text-sm text-slate-400">Pydoll - making browser automation magical ✨</p> |
589 | 566 | </div>
|
590 | 567 | <div class="flex items-center gap-3 text-sm text-slate-400">
|
591 | 568 | <a href="https://github.com/autoscrape-labs/pydoll" target="_blank" rel="noopener" class="hover:text-white">GitHub</a>
|
|
0 commit comments