Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Управляйте маятником, чтобы построить самую высокую (и устойчивую) башню из падающих сверху постов. Следите за временем на каждый бросок по полоске справа: если она закончится, пост упадет мимо башни.

Башня

Аркады, Строительство, На ловкость

Играть

Топ прошлой недели

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
2665
NikonNLG
5 месяцев назад

Лопухи⁠⁠1

Зашёл полистать новости, а там как всегда отбитые мошенники:

В МВД предупредили, что мошенники выманивают коды доступа от аккаунтов на "Госуслугах", предлагая зарегистрироваться в некой единой госсистеме оценивания студентов.

Ссылки выглядят легитимно: гесос. рус или gesos. ru, однако ведут на ресурс с намного менее презентабельным адресом

Зашёл посмотреть на этот сайт, в принципе ничего особенного: введите ФИО, паспорт, телефон, снилс, и мы всё пришлём. Ну ок, давайте посмотрим исходный код страницы. А там - прямым текстом указан ключ для бота телеги, который и скидывает злодеям в чатик всё что вы ввели.

Грех не воспользоваться такой ситуацией. Открываем консоль, пишем короткую команду:

while true; do
curl -XPOST https://api.telegram.org/bot7704374924:xxx/sendMessage \
-H 'Content-Type: application/json'\
-d "{\"chat_id\": \"-1002347034585\", \"text\": \"$(pwgen -nyc 1024 1)\"}";
sleep 2;
done

И идём курить. Для тех кто не понимает в чём суть - каждые 2 секунды бот отправляет своему хозяину 1024 символа отборного мусора.

После перекура с сожалением увидел в ответах от бота: "Forbidden: bot was kicked from the supergroup chat", т.е. бота выгнали из чата.

Штош, подождём пока обновят ключи API.

P.S. Подсказали как можно посмотреть участников чата. #comment_340692584

Показать полностью
[моё] Интернет-мошенники Мошенничество Linux Curl Telegram Текст Негатив
136
0sadchi
0sadchi
6 лет назад
Программирование на PHP

CURL in PHP / POST and GET request with HEADERS / Parsing Twitter for BEGGINERS⁠⁠

[моё] Curl Php curl Php curl tutorial Php programming Learn PHP Видео
5
1613
Stalinko
Stalinko
7 лет назад
Лига фрилансеров

Фрилансерский блокбастер или история одного непростого заказа⁠⁠

Здравствуйте, меня зовут @Stalinko и я фрилансер. Работаю в основном через UpWork. В качестве подработки обожаю писать скрейперы. Это такие программы, которые парсят (выкачивают) данные с других сайтов.


Прилетел мне заказ, вполне стандартный: написать программу, чтобы раз в сутки пробегалась по всем товарам интернет-магазина и сохраняла их в БД клиента. Ну и чтобы эти товары можно было через браузер смотреть, сортировать, фильтровать.


Заказ стандартный абсолютно. Я оценил его в 8 часов на скрейпер + 8 часов на веб-страничку. Клиент захотел по фиксированной цене работать, поэтому я предложил $700, в итоге сторговались на $600. Заключили контракт, работаю.


В самом начале оказалось, что товаров более 800.000. Они разбиты по более чем 7000 страниц. И некоторые параметры можно узнать только если открыть страницу с товаром. Стало веселее. Потому что 800.000 запросов — это уже ощутимо для любого сайта кроме гугла.


Начал писать и тут оказалось, что сайт довольно строго банит скрейперы, если слишком часто посылать запросы. Проблема… Если посылать запросы с задержкой то весь парсинг растянется на пару месяцев, это только первый проход! Что делать?


Решили использовать прокси, да не простые, а rotating proxy, которые меняют свой IP каждые 10 минут. Стало бодрее. Но оказалось, сайт банит вообще всех, кто шлёт запросы подряд в течение нескольких минут. Т.е. даже с проксями нам нельзя было скрейпить на максимальной скорости. Пришлось вводить таймауты, и в итоге удалось добиться сокращения времени до 2 недель.

Но это всё равно много.


Начал активно думать днём и ночью над этой проблемой и придумал. Странички с продуктами можно скачивать не с сайта напрямую, а из гугл-кеша! Данные на страничках практически не меняются, так что кеш нас полностью устраивает. Гугл не так строг к скрейперам, да к тому же у меня были наработки по скрейпингу гугла с предыдущего проекта. В общем запустил! К сайту обращался только за списком товаров, либо за товарами, которых нет в кеше. Всё остальное — из гугла. Удалось сократить срок до 4 дней!

Заказчик доволен. Видит, что всё работает ну и оплатил заказ полностью. Я тоже доволен, но недолго…


Вдруг запросы за списком товаров перестают работать. На любой запрос прилетает автоматически ошибка, что вы должно быть бот и идите нахер. Я начинаю подозревать самое худшее — что админ сайта нас спалил и начал играть против нас. Что делать? Со стороны клиента всё выглядит так: было чёткое ТЗ и есть сломанная программа на выходе. Как бы вы поступили в данном случае? Отдать деньги? Но я честно проработал даже больше чем рассчитывал, и в исходных условиях программа работала отлично. Продолжить дорабатывать? Но если против нас играет админ сайта, то это может растянуться бесконечно. Потребовать ещё денег? В принципе да, но довольно неприятный вариант для клиента. Не факт, что он согласится и не обидится.


В итоге психанул и решил бесплатно всё доделать. Потратил ещё полдня. Нашёл решение — сайт банит стандартный протокол http1.1. Если работать по http2, то всё работает прекрасно.

Починил. Рассказал всё клиенту. Он был впечатлён и сказал, что если программа всё докачает нормально через 3 дня, то он заплатит мне бонус за старания. Это мне понравилось )

Но через 2 дня программа ломается снова… Опять та же история — какой бы запрос ни посылал, автоматически ошибка 403 (идите нахер боты). Снова смог починить, путём добавления ещё одного http-заголовка. И программа продолжила работать.


В итоге докачали мы все товары. Клиент был очень рад и на радостях заплатил мне ещё $500 бонуса. Вот это нормальный разговор! В принципе, на такую сумму я и переработал.

Но проходит ещё день и программа ломается снова… Я добавляю ещё один http-заголовок… Меня это начинает напрягать т.к. бесконечно это продолжаться не может. Нужно кардинально другое решение.


И тут я вспомнил, что у них есть мобильные приложения, а значит и мобильное API. Скачал android-приложение. Попытался ловить его запросы, но во-первых они были шифрованные, а во-вторых, приложение даже не работало, авторизация не проходила вообще. Думаем дальше… Оказалось, android-приложения можно легко декомпилировать. Прямо онлайн. Таким образом, из apk получается чистый исходный код. Всё хорошо, но оказалось, что единственное API у приложения — это авторизация. Всё остальное через webview — беда… Но, погодите… Я видел скрины ios-приложения и они выглядят иначе! Может быть там API? Декомпилировать ios-приложения оказалось не так просто как android, а без яблочного устройства его никак не запустить. Тут мне на помощь пришёл коллега и смог выдрать API-запросы из ios-приложения, и о чудо! Нашлось API для получения списка товаров!


Начал изучать его. Попробовал загуглить. Наткнулся на документацию от бывших разработчиков в открытом доступе, они в виде github-gist сохраняли куски. Там было мало интересного, но кое-что я нашёл.

Решил попридержать мобильное API до худших времён. А тем временем основной скрейпер падал каждые 1-2 дня. Поведение сайта постоянно менялось. Админ явно играл против нас. Но решение каждый раз было простое — пара заголовков http и вуа-ля оно работает дальше )

Но меня снова начало напрягать, что я продолжаю работать за бесплатно. Предложил клиенту почасовую ставку. Он согласился, но в ответ предложил работать через PayPal вместо UpWork. Таким образом договорились, что он мне платит меньше на сумму комиссии UpWork. Все довольны.

Ещё через пару дней сайт начинает зверствовать просто нереально. Сначала он вдруг поменял формат данных. Вместо json стал рандомно отдавать html. Ну это не так страшно как то, что произошло дальше.

Они подключили анти-бот защиту от сторонней конторы, которая специализируется на этом. А это уже довольно лютая штука. Поэтому было решено было воспользоваться козырем и перейти на мобильное API. Решение на API взлетело на ура. Во-первых, скорость выросла в 5 раз т.к. за один запрос мы получали не 120, а 600 товаров, а во-вторых, в мобильном API нет никакой защиты. Пока. Тьфу-тьфу.


PS. Я сначала решил, что этот текст лучше подойдёт для Хабра, но там он осел намертво в песочнице, поэтому я с чистой совестью и небольшими корректировками публикую его на Пикабу, вдруг кому будет интересно.

Показать полностью
[моё] Upwork Фриланс Скрейпер Бот Сложный заказ Curl Длиннопост Текст
332
1259
Seanchik
Seanchik
10 лет назад

Кто следующий? С локоном, конечно⁠⁠

Перевод: Curl- локон, завиток
Кто следующий? С локоном, конечно Перевод: Curl- локон, завиток
Локоны Завиток Супермен Curl Стиляги Бигуди
116
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии