Как я могу войти на сайт, используя Python? - PullRequest
7 голосов
/ 11 декабря 2010

Я видел этот другой вопрос: Как использовать Python для входа на веб-страницу и получения файлов cookie для последующего использования?

Однако прямая модификация этого ответа не сработаладля меня, поэтому мне интересно, как я могу достичь своей цели.

Чтобы дать контекст, я пытаюсь войти в систему https://mog.com/hp/sign_in и затем извлечь имена моих плейлистов со следующей страницы: http://mog.com/my_mog/playlists

Я думаю, это должно быть довольно просто для тех, кто знает, что они делают.Был бы полезен некоторый базовый код для входа на сайт и доступа к защищенной паролем странице, и было бы еще лучше, если бы вы могли объяснить в одном или двух предложениях, что делает каждая строка в коде, чтобы я мог лучше понятьо том, что делает код.

1 Ответ

12 голосов
/ 11 декабря 2010

Попробуйте с механизировать :

import mechanize
br=mechanize.Browser()
br.open('https://mog.com/hp/sign_in')
br.select_form(nr=0) 
br['user[login]']= your_login
br['user[password]']= your_password
br.submit()
br.retrieve('http://mog.com/my_mog/playlists','playlist.html')

EDIT:
чтобы получить ссылки, вы можете добавить это:

for link in br.links():
    print link.url, link.text

или, начиная с playlist.html, вы можете использовать Beautifulsoup и регулярное выражение:

from BeautifulSoup import BeautifulSoup
import re
soup = BeautifulSoup(file('playlist.html').read())
for link in soup.findAll('a', attrs={'href': re.compile("your matching re")}):
    print link.get('href')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...