使用python登录网站(特别是netflix)

使用python登录网站(特别是netflix),python,forms,tcp,automation,urllib2,Python,Forms,Tcp,Automation,Urllib2,我正在尝试使用python登录netflix,可以很好地工作,但我无法让它检测天气或不登录失败,代码如下所示: #this is not purely my code! Thanks to Ori for the code import urllib username = raw_input('Enter your email: ') password = raw_input('Enter your password: ') params = urllib.urlencode( {'email'

我正在尝试使用python登录netflix,可以很好地工作,但我无法让它检测天气或不登录失败,代码如下所示:

#this is not purely my code! Thanks to Ori for the code
import urllib
username = raw_input('Enter your email: ')
password = raw_input('Enter your password: ')
params = urllib.urlencode(
{'email': username,
'password': password })
f = urllib.urlopen("https://signup.netflix.com/Login", params)
if "The login information you entered does not match an account in our records.       Remember, your email address is not case-sensitive, but passwords are." in f.read():
    success = False
    print "Either your username or password was incorrect."
else:
    success = True
    print "You are now logged into netflix as", username
    raw_input('Press enter to exit the program')

一如既往,非常感谢

首先,我将分享一些我在Netflix网站上注意到的关于使用限制的措辞:

未经授权使用Netflix服务或其内容将终止我们授予的有限许可,并将导致您的会员资格取消

简言之,我不确定你的脚本在这之后会做什么,但有些活动可能会危及你与Netflix的关系。我没有读完整的ToS,但你应该读

也就是说,刮取html信息有很多正当的理由,我一直在这么做。所以我对这个特定问题的第一个赌注是你使用了错误的检测字符串。。。只需发送一封伪造的电子邮件/密码并打印回复。。。也许您对使用浏览器登录时的外观做了一个假设,但浏览器发送的信息会进一步影响登录过程

我希望我能提供下一步该做什么的细节,但我不想冒着与“flix”关系的风险,对这个问题给出更好的答案。。。所以我只想分享一些我从其他网站上搜集到的观察结果,这些网站使得网络机器人的使用变得有点困难

首先,使用Firefox登录到您的帐户,并确保已启用附加组件并处于捕获模式。。。当您登录live时看到的内容对您的脚本编写工作非常宝贵。。。例如,这是我登录时的会话

POST /Login HTTP/1.1 Host: signup.netflix.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Referer: https://signup.netflix.com/Login?country=1&rdirfdc=true --->Insert lots of private stuff here Content-Type: application/x-www-form-urlencoded Content-Length: 168 authURL=sOmELoNgTeXtStRiNg&nextpage=&SubmitButton=true&country=1&email=EmAiLAdDrEsS%40sOmEMaIlProvider.com&password=UnEnCoDeDpAsSwOrD 顺便说一句,有一个非常好的参考urllib2和许多分类问题

因此,总而言之

  • 使用您现有的脚本,转储来自已知虚假登录的结果,以确保您正在解析正确的信息。。。我敢肯定你在上面做了一个错误的假设
  • 看起来您在帖子中提交的参数不够。经验告诉我,除了
    email
    password
    之外,您还需要设置
    authURL
    。。。如果可能,我会尝试模仿浏览器发送的内容
  • 有时,您是否设置了用户代理字符串和引用网页很重要。我总是在刮的时候设置这些,这样我就不会浪费调试的时间
  • 当所有其他方法都失败时,查看存储在他们发送的cookies中的信息
  • 有时网站base64对表单提交数据进行编码。我不知道Netflix是否有
  • 一些网站非常保护其知识产权,通过编程读取/归档信息被视为窃取其IP。再一次,阅读ToS。。。我不知道Netflix如何看待你想做的事情
  • 我提供此信息仅供参考,在任何情况下都不支持或宽恕违反Netflix服务条款的行为。。。我也无法确认您提议的活动是否会。。。我只是说它可能:-)。如果需要官方裁决,请咨询专门从事电子发现的律师。脚先。不要吃黄色的雪。。。等等

  • 首先,我将分享一些我在Netflix网站上注意到的关于使用限制的措辞:

    未经授权使用Netflix服务或其内容将终止我们授予的有限许可,并将导致您的会员资格取消

    简言之,我不确定你的脚本在这之后会做什么,但有些活动可能会危及你与Netflix的关系。我没有读完整的ToS,但你应该读

    也就是说,刮取html信息有很多正当的理由,我一直在这么做。所以我对这个特定问题的第一个赌注是你使用了错误的检测字符串。。。只需发送一封伪造的电子邮件/密码并打印回复。。。也许您对使用浏览器登录时的外观做了一个假设,但浏览器发送的信息会进一步影响登录过程

    我希望我能提供下一步该做什么的细节,但我不想冒着与“flix”关系的风险,对这个问题给出更好的答案。。。所以我只想分享一些我从其他网站上搜集到的观察结果,这些网站使得网络机器人的使用变得有点困难

    首先,使用Firefox登录到您的帐户,并确保已启用附加组件并处于捕获模式。。。当您登录live时看到的内容对您的脚本编写工作非常宝贵。。。例如,这是我登录时的会话

    POST /Login HTTP/1.1 Host: signup.netflix.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Referer: https://signup.netflix.com/Login?country=1&rdirfdc=true --->Insert lots of private stuff here Content-Type: application/x-www-form-urlencoded Content-Length: 168 authURL=sOmELoNgTeXtStRiNg&nextpage=&SubmitButton=true&country=1&email=EmAiLAdDrEsS%40sOmEMaIlProvider.com&password=UnEnCoDeDpAsSwOrD 顺便说一句,有一个非常好的参考urllib2和许多分类问题

    因此,总而言之

  • 使用您现有的脚本,转储来自已知虚假登录的结果,以确保您正在解析正确的信息。。。我敢肯定你在上面做了一个错误的假设
  • 看起来您在帖子中提交的参数不够。经验告诉我,除了
    email
    password
    之外,您还需要设置
    authURL
    。。。如果可能,我会尝试模仿浏览器发送的内容
  • 有时,您是否设置了用户代理字符串和引用网页很重要。我总是在刮的时候设置这些,这样我就不会浪费调试的时间
  • 当所有其他方法都失败时,查看存储在他们发送的cookies中的信息
  • 有时网站base64对表单提交数据进行编码。我不知道Netflix是否有
  • 一些网站非常保护其知识产权,通过编程读取/归档信息被视为窃取其IP。再一次,阅读ToS。。。我不知道Netflix如何看待你想做的事情
  • 我提供此信息仅供参考,在任何情况下都不支持或宽恕违反Netflix服务条款的行为。。。我也无法确认您提议的活动是否会。。。我只是说它可能:-)。与一位专门从事电子商务的律师交谈-