|
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