Гуглосервисы для хакера. Овладеваем сервисами мегакорпорации с помощью Python’aЛейтенант Роман 'predidentua' Хоменко, http://tutamc.com Многие наши коллеги называют Google «корпорацией зла». Сложный вопрос! Лично я ничего плохого в данной организации не вижу, поскольку она совершенно бесплатно предоставляет честным программистам множество полезных сервисов и замечательный API для их использования. SEO & BlogspotПеред началом работы с Google слегка подготовимся, установив библиотеки GData и ElementTree (ищи их на диске). Установил? Отлично, подготовительный этап пройден. Самое время поставить перед собой первую задачу - помочь СЕОшникам с их сателлитами, в качестве которых можно использовать гугловский блогохостинг Blogspot. Зайдем на него (http://blogspot.com) и создадим блог, к примеру,
Но у нашего аккаунта может быть несколько блогов, которые опознаются специальным идентификатором. Попробуем получить id первого блога:
Этим кодом в переменную blog_id мы сохранили нужный идентификатор. Хотя стоп, не очень-то все это эффективно. Зачем каждый раз узнавать айдишник, если он не меняется? Как вариант, можно зайти на блог, нажать на кнопку «добавить новый пост» и, в результате, в браузере появится приблизительно такой текст: http://www.blogger.com/post-create.g?blogID=3344789329453358925. Последние цифры этого текста являются идентификатором блога. А далее мы напишем так:
Теперь создадим наш пост как объект gdata.GDataEntry, в котором установим свойства title и content и запостим его на блог методом blogger_service.Post:
Используя этот код, ты можешь взять отсканированный текст какой-нибудь книги и регулярно постить по страничке из нее на блог, тем самым получая уникальный контент. Но я лучше предложу другой вариант, а именно - поиск через Google английских текстов определенной тематики с последующим переводом их на русский. ПоискИтак, примемся за поиск. Это можно сделать через регулярки и один запрос, но к чему напрягаться, коллеги-программеры все давно реализовали. Мы можем скачать библиотеку xgoogle (на диске она есть), и использовать всего лишь один объект GoogleSearch, которому при создании нужно передать поисковый запрос, а затем – с шиком использовать для парсинга страниц метод get_results до тех пор, пока он будет возвращать результат. В конечном счете код будет выглядеть следующим образом:
ПереводИтак, страницы получены, текст - напарсен. А теперь перейдем к переводу и вспомним Google Translate. В этом сервисе также есть API для доступа, но он реализован на основе JavaScript-библиотеки, поэтому получается, что нам опять чего-то не хватает. Напишем недостающее самостоятельно, поскольку любому хакеру будет полезно изучить либу для парсинга HTML в лице BeautifulSoup. Сначала получим страницу, используя opener из стандартной библиотеки urllib2:
В начале кода мы создаем opener, а затем - устанавливаем User-agent (без юзер-агента гугл переводить откажется). Финальным аккордом мы исполняем запрос, передаем все параметры, ориентируясь из API Google:
После завершения запроса в переменную translated_page поместится HTML-код, и вот чтобы извлечь из него чистый текст, мы используем BeautifulSoup. Создадим его объект:
Теперь из переменной translated_soup мы можем вытянуть необходимые данные. Например, мы точно знаем, что переведенный текст находится в div элементе HTML’ла с идентификатором result_box; Стало быть, нужный перевод мы вытянем строкой:
Вообще, о BeautifulSoup советую отдельно почитать на официальном сайте www.crummy.com/software/BeautifulSoup. Поверь, эта либа способна чрезвычайно упростить тебе жизнь. Опера - не всегда браузерНу, все, хватит помогать СЕОшникам, ведь Гугл полезен и другим представителям хак-сцены. Посмотрим на сотрудников милиции, они владеют актуальной информацией и потому способны к оперативному реагированию. Не будем от них отставать! Представим ситуацию, при которой у тебя есть снифер, и нужно получить доступ к сайту, который хранит сессию всего лишь полчаса. Получается, что теперь тебе придется безотрывно торчать за компом, чтобы быть готовым воспользоваться ситуацией? Вырваться из рабства нам поможет телефон, который всегда под рукой и всегда готов нас порадовать sms-кой, содержащей актуальную информацию. Но отправлять смски зачастую не так-то просто, так как на бесплатных сервисах нам мешает капча. И здесь тоже поможет Гугл, создавший замечательный Календарь, позволяющий извещать о событиях посредством СМС. Эту фичу мы и заюзаем. Заходим на гуглокалендарь и в настройках указываем телефон, а также способ уведомления о событиях - ставим «за одну минуту до события послать СМС». Теперь перейдем к программе, где сначала нужно авторизироваться:
Далее добавляем событие:
Лично я этим способом пользуюсь очень давно, чего и тебе советую. Кстати, скоро он может потерять свою актуальность, ведь Гугл анонсировал своего «убийцу скайпа», в рамках которого вроде бы обещаются бесплатные сообщения на все номера. Но до этого еще дожить нужно, а пока давай будем пользоваться Календарем. ТаблицыА где твои скрипты хранят свои данные? На хостинге? А если его завтра закроют? Давай найдем ему замену в виде Spreadsheets - гуглотаблиц. Для этого зайди на http://spreadsheets.google.com, создай новую таблицу и обязательно посмотри на ее код. Например, для URL http://spreadsheets.google.com/ccc?key=tLqt8Y4YaQyqe8DrRBcxS-g&hl=en кодом будет
Здесь в начале идет код самой таблицы, а далее - идентификатор листа и массив, где в качестве индекса элементов присутствует название колонок в таблице. Теперь все это хозяйство можно будет сохранить в базе:
Это конец?Как видишь, Google может помочь нам в очень многих случаях. Пока, перефразируя известного философа, мы лишь собрали камешки на берегу океана возможностей гуглосервисов.
Как ты понимаешь, все это – темы для отдельных статей. Может быть, с ними мы познакомим тебя позже. Удачи! Некоторые факты о Google
Вид мадагаскарских муравьев Proceratium google был назван в честь сервиса Google Earth, который помог открывателю в его исследованиях. Алгоритм ранжирования назван Page Rank, не от слова Page (страница), а от фамилии Ларри Пейджа – одного из основателей Google. CDКомментированные исходники и куча ништяков от автора как всегда ждут тебя на нашем мега-DVD. VIDEOК каждой статье я снимаю маленькое видео, и эта не станет исключением. Смотри его с нашего диска! WWWСайт библиотеки Beautiful Soup: http://crummy.com/software/BeautifulSoup. |