Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
что сегодня легче использовать puppeteer или playwright, и что проще настроить, чтоб максимально можно было скрыть браузер.
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
у puppeteer использую `import StealthPlugin from 'puppeteer-extra-plugin-stealth'`
Sergey
Sergey
все остальное палиться
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
а зачем apify?
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 - меньше палиться.
Sergey
они вместе должны юзаться
Sergey
иначе
Sergey
палиться
Назар
ну у меня сейчас плагин + пару своих функций и норм.
Назар
но вдруг начнут банить, не помешает что то еще
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
Se не пойму как в "apify", просто открыть пустой там в браузере и перейти на страницу например google.com,
требует "options.requestList" and "options.requestQueue", но мне ни то ни другое не нужно,
так как у меня работа происходит ровно только с одной страницей.
Sergey
Sergey
Sergey
И юзать как обычный puppeteer
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
я и пытаюсь, но пока не очень понимаю
Назар
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
пример бы бейсик для нуба, в интернете смотрю все не то
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
нужен ли мне вообще Apify.main(() => {
Sergey
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
Он не нужен
Sergey
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
Sergey
Хмм что-то с хранилищем
Andrey
https://sdk.apify.com/docs/guides/environment-variables
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
какой-то доступ к какому-то APIFY аккаунту, зачем?
Andrey
В облаке можно гонять парсинг, использовать их прокси и облачное хранение данных. Забей, это второй режим работы, хочешь убрать warning - укажи явно APIFY_LOCAL_STORAGE_DIR
Andrey
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
мне интересно а платформа облыаная apify на сколько удобна, я без нее делаю и имеет ли смысл
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
вот изучаю
Andrey
там норм расценки
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
ага
Andrey
у тебя же задача была другая. Все, что у них сделано по антидетекту лежит в этих двух файлах, если кодер можно оттуда просто украсть. Ну или как подсказывают выше используй их код для запуска puppeteer
Andrey
по сути весь список, что именно они делают
Meeeeeeeeeew 👑🦠 😷🔬💉⚡️💸💥☠️
спасибаа ребята убрал ошибка
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
Просто в основном это проблема. А мобилки позволяют легко обходить бот детекты)
Andrey
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 через костыли делается