Telegram

#парсинг

#парсинг

**1) **В основном я использую библиотеку Requests, где это возможно. Некоторые сайты имеют не задокументированные API, которые можно использовать.

**2) **Я пытаюсь использовать мобильные приложения и просматриваю запросы через Charles, потому что мобильная версия сайта может быть менее защищенной.

**3)** Я использую Selenium, когда другие методы не помогают или требуют скриншотов. Иногда я использую команду `xvfb-run -a python3 main.py` в связке с Selenium. Вот пример кода для установки виртуального фреймбуфера
```# устанавливаем пакет
apt-get install -y xvfb

# устанавливаем переменную дисплея
export DISPLAY=:0

# запускаем сервер Xvfb в фоновом режиме (один раз)
/usr/bin/Xvfb :0 -screen 0 1024x768x24 &

# подождите немного чтобы дать ему запуститься (один раз)
sleep 5

# добавьте префикс "xvfb-run" к "node" или "python" скрипту
xvfb-run -a node myscript.js
# или
xvfb-run -a python myscript.py

```**4) **Для решения капчи на русском языке я использую сервис RuCaptcha, а для английского языка - AntiCaptcha. В случае того, если нужно часто решать капчу, обучаю небольшую модель для распознавания текста.

**5)** Если я использую прокси в Selenium с Chrome, то я могу использовать его только после авторизации через IP. Вот пример кода, который я использую для добавления прокси:
```options.add_argument('--proxy-server=http://ip:port')

```**6)** Я использую BeautifulSoup только в тех случаях, когда мне предоставляется чистый HTML на сайте.

**7) **Не стесняйтесь найти готовый код на github!

**8)** Новичкам советую ознакомиться с этой статьей. Если бы она вышла лет 5 назад, это бы очень мне помогло для обучения :)