Экран Очистить сайт с Python (на стороне сервера) - PullRequest
0 голосов
/ 11 января 2012

Я создаю сайт, представляющий сайт виртуальной компании (в данном случае виртуальную пекарню).Я уже настроил продукты и систему корзины, теперь проблема в том, чтобы заставить ее работать с системой виртуального банка.У всех, кто участвует в системе, есть учетная запись, я тоже.Теперь я чертовски плохо знаком с Python, и я использовал много ранее созданных скриптов и немного их редактировал по своему желанию.

Мой вопрос ...

  • Как мне зайти на сторонний сайт с помощью python?
  • Как мне затем нажимать кнопки (в основном запускать javascript) на сайте после входа в систему?1012 *

Извините, я бы добавил ссылку на сайт, к которому я пытаюсь зайти, однако в данный момент он недоступен.Как удобно.

Ответы [ 2 ]

4 голосов
/ 11 января 2012

Я бы посоветовал проверить механизм для входа: http://wwwsearch.sourceforge.net/mechanize/

Для нажатия кнопок проверьте ответ: https://stackoverflow.com/a/1806266/1104941

Edit:

Дополнительные полезные ссылки:

0 голосов
/ 11 января 2012

К сожалению, не существует очень хорошего способа пройти через зависимый от Javascript сайт из контекста Python (или чего-либо вне браузера).Даже если бы вы использовали Mechanize с python-spidermonkey или какой-либо другой вид моста Javascript с Python (возможно, pyV8), одни только эти мосты не эмулируют DOM.Поэтому любой Javascript, имеющий дело с пользовательским интерфейсом, просто не будет работать.

Однако, если ваш сайт, на который вы хотите войти, не зависит от Javascript, то переход на сайт вполне возможен.Мое предложение было бы использовать модуль запросы Кеннета Рейтца.Вы можете сделать что-то вроде следующего:

import requests

# To handle logins you'll most likely need to maintain a session
# if the site you login to usually expects a human
s = requests.session() # starts a session

# Next you want to login to the site
s.post("http://somesite.com/login", data={"u": "username", "p": "password"})

# Now you're logged in and you can do anything you want 
# using the session instance 
response_data = s.get("http://somesite.com/awesome-page-id-like-to-grab")

# Do something with the response data ...
my_response_parsing_function(response_data.content)

Есть другие способы сделать это, которые включают стандартные библиотеки Python, но запросы обрабатывают все эти мелочи.

...