如何使用python登录网站?

jon*_*rry 7 python authentication

我已经看到了另一个问题:如何使用Python登录网页并检索cookie供以后使用?

但是,对这个答案的简单修改并不适用于我,所以我想知道如何实现我的目标.

为了给出上下文,我正在尝试登录https://mog.com/hp/sign_in,然后从以下页面中提取我的播放列表的名称:http://mog.com/my_mog/playlists

我认为对于知道自己在做什么的人来说,这应该是非常简单的.登录网站并访问受密码保护的页面的一些基本代码会很棒,如果你能用一两句话解释一下代码中的每一行是什么,那就更好了,这样我就能更好地理解代码正在做什么.

sys*_*out 12

尝试使用机械化:

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')
Run Code Online (Sandbox Code Playgroud)

编辑:
要获取您的链接,您可以添加:

for link in br.links():
    print link.url, link.text
Run Code Online (Sandbox Code Playgroud)

或者,从开始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')
Run Code Online (Sandbox Code Playgroud)

  • @jonderry我不认为有一个命令,你可能想用regexp匹配一个模式 (3认同)