Python и SEO

Архив ‘Seo’ Категории

grab.spider tricks.

комментарии: 0

1) Дефолтный valid_status для всех заданий. Нужно переопределить метод valid_response_code, например таким образом:

def valid_response_code(self, code, task):
    return True

В данном примере все ответы будут считаться валидными.

2) Список стартовых урл, initial_urls, может оказаться просто ненужным. Чтобы не делать лишнее действие, можно запускать spider не через task_initial, а через task_generator:

class MainSpider(Spider):
    #initial_urls = ['http://www.google.com/']

    def task_generator(self):
        url = "http://www.google.com/"
        yield Task(name='page', url=url)

Это один из способов, но далеко не единственный.

Автор: kalombo

Июнь 1st, 2012 at 2:58 пп

Категория: Python,Seo

Генерация xml карты.

комментарии: 3

Иногда требуется сгенерировать xml карту для заданных ссылок. Сначала делал это за счет метода строки format, но вот решил попробовать модуль для работы с xml и набросал простенькую функцию:

import StringIO
from xml.sax.saxutils import XMLGenerator
def create_sitemap(cnagfreq,priority,*links):
    st = StringIO.StringIO()
    g = XMLGenerator(st,encoding="UTF-8")
    g.startDocument()
    g.startElement('urlset', {'xmlns':"http://www.sitemaps.org/schemas/sitemap/0.9"})
    for lnk in links:
        g.characters("\n")
        g.startElement("url", {})
        g.characters("\n")
        g.startElement("loc", {})
        g.characters(lnk)
        g.endElement("loc")
        g.characters("\n")
        g.startElement("changefreq", {})
        g.characters(cnagfreq)
        g.endElement("changefreq")
        g.characters("\n")
        g.startElement("priority", {})
        g.characters(priority)
        g.endElement("priority")
        g.characters("\n")
        g.endElement("url")
    g.characters("\n")
    g.endElement("urlset")
    g.endDocument()
    return st.getvalue()
lst = ["http://ya.ru/{0}.html".format(x) for x in xrange(5)]
print create_sitemap("daily","0.8",*lst)

Автор: kalombo

Май 19th, 2010 at 5:00 пп

Категория: Python,Seo,Разное

Tagged with , sitemap, xml

Пример скрипта.

комментарии: 9

Решил выложить видео работы простенького скрипта для регистрации акков в ЖЖ. Для работы этого скрипта необходимо установить Python и PyCurl. После этого можно запускать скрипт, предварительно указав нужные параметры (ключ от антикапчи, количество потоков, адрес почтового ящика и т.д.):

Автор: kalombo

Апрель 4th, 2010 at 8:39 пп

Категория: Python,Seo,Клиентам

Tagged with видео, скрипт

Перенаправление почты

комментарии: 2

Довольно часто для регистрации необходимо подтвердить её, перейдя по ссылке в письме. Есть несколько решений этой проблемы:

  1. Использовать сервисы типа http://mailforspam.com
  2. Использовать точки гмейла. tothing@gmail.com = to.thing@gmail.com
  3. Снять хостинг, привязать домен и сделать перенаправление всех писем этого домена на один почтовый ящик.

Собственно, остановимся на третьем пункте, выбираем себе хостинг с cpanel, например вот этот(2$ за месяц).

Добавляем домен(ы) как это обычно делается:

Создадим почтовый ящик:

И настроим адрес почты по умолчанию:

В итоге вся почта отправленная на наш домен (nkbook.ru в моем случае) будет пересылаться на один адрес(admin@nkbook.ru):

Автор: kalombo

Март 14th, 2010 at 8:29 пп

Категория: Seo,Клиентам

Tagged with перенаправление,

Полезные модули.

комментарии: 9

Нашел под python много интересных модулей.

  1. Markovgen — генерация текста, цепями Маркова, не помню где взял, думаю автор не обидится если не укажу ссылку.
  2. ClientForm- классная вещь, позволяет автоматически формировать POST-запрос для html-форм на странице. На том же сайте есть и mechanize, вроде как еще одна приблуда типа urllib-ов и httplib-ов, с отличием, что эмулирует браузер. Не разбирался с ним, помню только, что когда запустил пример с сайта в сниффере увидел, что скрипт полез искать robots.txt.
  3. Beautiful Soup -модуль для работы с html-кодом страницы. Пользовался им, когда не знал про ClientForm, для того, чтобы выдернуть все данные формы.
  4. PIL -модуль для работы с изображениями, пользовался пару раз, для того, чтобы склеить капчу и для того, чтобы уникализировать заливаемые изображения.
  5. libgmail — как-то наткнулся на него, пару раз попробовал приконнектиться к почте, но безуспешно. Модуль, конечно, МастХэв, но, то ли я что-то упустил, то ли он устарел.
  6. wodrpesslib — когда-то писал скрипт, для автопостинга в WordPress, наткнулся на этот модуль, к сожалению он работает только через xmlrpc, что не всегда приемлимо.

Автор: kalombo

Январь 12th, 2010 at 2:36 пп

Категория: Python,Seo

Tagged with ClientForm, PIL, ,