L
Luca Cerone
Hi everybody,
I am trying to write a simple Python script to solve the "riddle" at:
http://quiz.gambitresearch.com/
The quiz is quite easy to solve, one needs to evaluate the expression between the curly brackets (say that the expression has value <val>)
and go to the web page:
http://quiz.gambitresearch/job/<val>
You have to be fast enough, because with the page there is an associated cookie that expires 1 sec after the first request, therefore you need to be quick to access the /job/<val> page.
[I know that this is the correct solution because with a friend we wrote a small script in JavaScript and could access the page with the email address]
As an exercise I have decided to try doing the same with Python.
First I have tried with the following code:
#START SCRIPT
import re
import urllib2
regex = re.compile(r'<span class=\'x\'>\{(.*)\}<span class=\'x\'>')
base_address = "http://quiz.gambitresearch.com/"
base_h = urllib2.urlopen(base_address)
base_page = base_h.read()
val = str(eval(regex.findall(base_page)[0]))
job_address = base_address + "job/" + val
job_h = urllib2.urlopen(job_address)
job_page = job_h.read()
print job_page
#END SCRIPT
job_page has the following content now: "WRONG! (Have you enabled cookies?)"
Trying to solve the issues with the cookies I found the "requests" module that in theory should work.
I therefore rewrote the above script to use request:
#START SCRIPT:
import re
import requests
regex = re.compile(r'<span class=\'x\'>\{(.*)\}<span class=\'x\'>')
base_address = "http://quiz.gambitresearch.com/"
s = requests.Session()
base_h = s.get('http://quiz.gambitresearch.com/')
base_page = base_h.text
val = eval( regex.findall( base_page )[0] )
job_address = base_address + "job/" + str(val)
job_h = s.get( job_address )
job_page = job_h.text
print job_page
#END SCRIPT
# print job_page produces "Wrong!".
According to the manual using Session() the cookies should be enabled and persistent for all the session. In fact the cookies in base_h.cookies and in job_h.cookies seem to be the same:
base_h.cookies == job_h.cookies
#returns True
So, why does this script fail to access the job page?
How can I change it so that I it works as intended and job_page prints
the content of the page that displays the email address to use for the job applications?
Thanks a lot in advance for the help!
Best Wishes,
Luca
I am trying to write a simple Python script to solve the "riddle" at:
http://quiz.gambitresearch.com/
The quiz is quite easy to solve, one needs to evaluate the expression between the curly brackets (say that the expression has value <val>)
and go to the web page:
http://quiz.gambitresearch/job/<val>
You have to be fast enough, because with the page there is an associated cookie that expires 1 sec after the first request, therefore you need to be quick to access the /job/<val> page.
[I know that this is the correct solution because with a friend we wrote a small script in JavaScript and could access the page with the email address]
As an exercise I have decided to try doing the same with Python.
First I have tried with the following code:
#START SCRIPT
import re
import urllib2
regex = re.compile(r'<span class=\'x\'>\{(.*)\}<span class=\'x\'>')
base_address = "http://quiz.gambitresearch.com/"
base_h = urllib2.urlopen(base_address)
base_page = base_h.read()
val = str(eval(regex.findall(base_page)[0]))
job_address = base_address + "job/" + val
job_h = urllib2.urlopen(job_address)
job_page = job_h.read()
print job_page
#END SCRIPT
job_page has the following content now: "WRONG! (Have you enabled cookies?)"
Trying to solve the issues with the cookies I found the "requests" module that in theory should work.
I therefore rewrote the above script to use request:
#START SCRIPT:
import re
import requests
regex = re.compile(r'<span class=\'x\'>\{(.*)\}<span class=\'x\'>')
base_address = "http://quiz.gambitresearch.com/"
s = requests.Session()
base_h = s.get('http://quiz.gambitresearch.com/')
base_page = base_h.text
val = eval( regex.findall( base_page )[0] )
job_address = base_address + "job/" + str(val)
job_h = s.get( job_address )
job_page = job_h.text
print job_page
#END SCRIPT
# print job_page produces "Wrong!".
According to the manual using Session() the cookies should be enabled and persistent for all the session. In fact the cookies in base_h.cookies and in job_h.cookies seem to be the same:
base_h.cookies == job_h.cookies
#returns True
So, why does this script fail to access the job page?
How can I change it so that I it works as intended and job_page prints
the content of the page that displays the email address to use for the job applications?
Thanks a lot in advance for the help!
Best Wishes,
Luca