используя mechanize для публикации на WordPress - PullRequest
0 голосов
/ 21 ноября 2011

Короче говоря, мне нужно публиковать автоматические комментарии в моем блоге WordPress. Я нахожу механизм для Python (ура! Нет необходимости разбираться в PHP!), Но я не могу оставлять комментарии с ним. Согласно отладочной информации, я успешно вошел в систему и вернулся на страницу комментариев, но комментарии не отображаются. Что еще более странно, что, когда я пытаюсь опубликовать одно и то же дважды, я получаю отзыв "обнаружен дубликат комментария", как если бы он уже был опубликован ... WTF? Откровенные биты моего кода:

br = mechanize.Browser()

cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)

br.set_debug_redirects(True)
br.set_debug_responses(True)
br.set_debug_http(True)

logger = logging.getLogger('mechanize')
logger.addHandler(logging.StreamHandler(sys.stdout))
logger.setLevel(logging.INFO)

br.open('some wordpress comment page')

response = br.follow_link(url_regex=r'wp-login')

br.select_form(nr=0)
br['log'] = username
br['pwd'] = passwd
br.submit()

# the above logs me in successfully

br.select_form(nr=1)
br['comment'] = comment

response = br.submit()

... не работает. Есть идеи?

1 Ответ

0 голосов
/ 22 ноября 2011

возможно, код, встроенный в блог, обнаруживает строку агента пользователя и отказывается показывать комментарии, но у меня мало опыта ни в коде Wordpress, ни в этом модуле python.

Механизм выглядит как лучший друг спаммера в противном случае. О, конечно, есть тысячи законных применений (и я не обвиняю вас, конечно).

Не могли бы вы заглянуть в журналы вашего блога (access_log, если вы используете Apache) и посмотреть, чем ваш скрипт поражает ваш блог?

...