我是python的新手
这是我的尝试
import urllib2
email_id = input("enter the email id")
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}.format(email_id=email_id)').read()
print content
if content.find('"uniqueEmail":false') == True:
print("email exists")
else:
print("email doesnt exists")
当打印内容代码执行时,我的网站将显示
{"params":{"method":"GET","controller":"GlobalUsers","action":"uniqueEmail","email":"theemailaddress_entered"},"uniqueEmail":true}
所以如果uniqueEmail打印出true或false,具体取决于电子邮件是否存在。
现在我怀疑是
我知道通过URL中的参数传递电子邮件ID变量我做错了。
,第二个是如何检查值是真还是假?
答案 0 :(得分:4)
是的,你在传递email-id变量时做错了,.format()
应该超出字符串,而不是在其中。示例 -
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()
其次,如果您的网站返回类似 -
的回复{"params":{"method":"GET","controller":"GlobalUsers","action":"uniqueEmail","email":"theemailaddress_entered"},"uniqueEmail":true}
这看起来像是一个json响应,因此您应该使用json
module将其解析为json,然后将返回一个字典,并从字典中获取uniqueEmail
信息。示例 -
content = urllib2.urlopen('https://somewebsite.com/uniqueEmail?email={email_id}'.format(email_id=email_id)).read()
import json
contentdict = json.loads(content)
if contentdict.get('uniqueEmail':
print("email exists")
else:
print("email doesnt exists")
我正在使用dict.get()
,因为如果密钥不存在,则返回None
,在这种情况下,这意味着电子邮件不存在。
此外,因为您正在使用Python 2.7,可以从评论中看到 -
任何想法为什么现在抛出这个错误
Traceback (most recent call last): File "C:/Python27/programs/email.py", line 2, in <module> email_id = input("enter email id ") File "<string>", line 1, in <module> NameError: name 'test' is not defined
您应该使用raw_input()
代替input()
。示例 -
email_id = raw_input("enter the email id")