Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
что сегодня легче использовать puppeteer или playwright, и что проще настроить, чтоб максимально можно было скрыть браузер.
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
у puppeteer использую `import StealthPlugin from 'puppeteer-extra-plugin-stealth'`
Sergey
все остальное палиться
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
а зачем apify?
Sergey
а зачем apify?
у него спец мод stealth
Sergey
он закрывает дыры puppeteer stealth
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
можно подробнее про apify? это сервис или либка
Sergey
либа
Sergey
для nodejs / typescript
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
то что мне и нужно
Sergey
она может легко скейлиться
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
а как понять скелиться? у меня в докер контейнере все
Sergey
а для чего тебе если не секрет?
Sergey
а как понять скелиться? у меня в докер контейнере все
ну можно и без докера) иногда докер не подходит
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
мне докер окей - самое то, отлично с ним
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
нашел сайт https://apify.com
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
apify какая-то обертка над - PlaywrightCrawler or PuppeteerCrawler
Sergey
PuppeteerCrawler тебе этот нужег
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
я ток ток доку открыл
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
версию puppeteer 8.0.0? или 5 лучше
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
еще что лучше юзать chrome или firefox? читал что некоторые больше за firefox - меньше палиться.
Назар
у него спец мод stealth
о, это интересно. Лучше stealth plugin?
Sergey
они вместе должны юзаться
Sergey
иначе
Sergey
палиться
Назар
ну у меня сейчас плагин + пару своих функций и норм.
Назар
но вдруг начнут банить, не помешает что то еще
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
Se не пойму как в "apify", просто открыть пустой там в браузере и перейти на страницу например google.com, требует "options.requestList" and "options.requestQueue", но мне ни то ни другое не нужно, так как у меня работа происходит ровно только с одной страницей.
Sergey
И юзать как обычный puppeteer
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
я и пытаюсь, но пока не очень понимаю
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
пример бы бейсик для нуба, в интернете смотрю все не то
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
нужен ли мне вообще Apify.main(() => {
Sergey
Сейчас прими скинуть не могу
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
(
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
```Apify.main(async () => { console.log('Launching Puppeteer...') const browser = await Apify.launchPuppeteer() const page = await browser.newPage() await page.goto('https://youtube.com') // Wait 30s to see Chromium works 🙂 await new Promise((resolve) => setTimeout(resolve, 30000)) await browser.close() })```
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
такое нашлеось Se
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
мне не нравятся warnings - которые вылетают, когда запускаю, тоже пытался решить проблему: console.warn WARN Neither APIFY_LOCAL_STORAGE_DIR nor APIFY_TOKEN environment variable is set, defaulting to APIFY_LOCAL_STORAGE_DIR="/Users/sander/Projects/test/apify_storage" 23 | // await crawler.run() 24 | > 25 | Apify.main(async () => { | ^ 26 | console.log('Launching Puppeteer...') 27 | const browser = await Apify.launchPuppeteer() 28 |
Sergey
А зачем crawler run?
Sergey
Он не нужен
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
А зачем crawler run?
это закоменченный кусок кода
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
Sergey
Хмм что-то с хранилищем
Andrey
https://sdk.apify.com/docs/guides/environment-variables
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
какой-то доступ к какому-то APIFY аккаунту, зачем?
Andrey
В облаке можно гонять парсинг, использовать их прокси и облачное хранение данных. Забей, это второй режим работы, хочешь убрать warning - укажи явно APIFY_LOCAL_STORAGE_DIR
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
мне интересно а платформа облыаная apify на сколько удобна, я без нее делаю и имеет ли смысл
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
вот изучаю
Andrey
там норм расценки
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
ага
Andrey
у тебя же задача была другая. Все, что у них сделано по антидетекту лежит в этих двух файлах, если кодер можно оттуда просто украсть. Ну или как подсказывают выше используй их код для запуска puppeteer
Andrey
по сути весь список, что именно они делают
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
спасибаа ребята убрал ошибка
Andrey
ну да
Undefined113
hello, good someone who can give me some user-agent that works for puppeteer-extra-plugin-stealth
Undefined113
вот без
Не могли бы вы передать мне этот пользовательский агент, пожалуйста
Назар
Не могли бы вы передать мне этот пользовательский агент, пожалуйста
я его не менял. Стандартный из плагина. Уже даже устаревший
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
через apify, как можно эти параметры добавить в настройки? ``` devtools: false, defaultViewport: { width: 1920, height: 1080 }, ignoreHTTPSErrors: true, slowMo: 30, ```
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
``` export function launchPuppeteer(launchContext?: PuppeteerLaunchContext | undefined): Promise<any>; ``` с типами у apify не ясно, просто any как пользоваться этим не понятно, если типы не указаны.
Sasha
Народ. А возможно использовать 2 прокси? Прокси А для работы со всеми ресурсами а прокси Б только для работы с 1 источником запросов параллельно
Unknown
Нужно уже чатик переименовать Poppeteer-proxy-ru. Тк через одно сообщение вопросы по ним:) А расскажите, пожалуйста, свои юзкейсы? Зачем вы используйте их в связке.
Sasha
Просто в основном это проблема. А мобилки позволяют легко обходить бот детекты)
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
ухх.. теперь apify проблема сбилдить с помощью webpack-а, когда просто puppeteer был - проблем не было.
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
сбилдить то сбилдит - а запускать программу уже не хочет
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
```Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './underscore-min' is not defined by "exports" in /Users/sander/Projects/node_modules/underscore/package.json at throwExportsNotFound (internal/modules/esm/resolve.js:285:9) at packageExportsResolve (internal/modules/esm/resolve.js:491:3) at resolveExports (internal/modules/cjs/loader.js:444:36) at Function.Module._findPath (internal/modules/cjs/loader.js:484:31) at Function.Module._resolveFilename (internal/modules/cjs/loader.js:818:27) at Function.resolve (internal/modules/cjs/helpers.js:80:19) at Object.<anonymous> (/Users/sander/Projects/node_modules/apify/build/puppeteer_utils.js:15:32) at Module._compile (internal/modules/cjs/loader.js:1015:30)```
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
пробовал библиотеки более старую версию, вебпак - убрать все лишние настройки, скрипт только запускает лаунчер - ничего не помогает.
Назар
зачем его билдить вебпаком?
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
потому что других нормальных рещений нет - через tsc нормально не настроишь проект
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
у меня все билдится и работает, проблемы начанлись ток когда apify начал использовать
Назар
зачем вообще билдить?
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
а как мне настроить проект тогда - чтоб нормальные пути были в проекте, настройка алиасов и так далее, все это через tsc через костыли делается