为什么此网络图片网址仅在浏览器中有效一次?

时间:2014-10-20 07:09:53

标签: python cookies python-requests

我正在尝试自动编写一个python脚本renew fastssh account。在续订页面上有一个像这样的验证码:

<label>
<img src='https://fastssh.com/images/temp/blablablabla1.jpg' >
X
<img src='https://fastssh.com/images/temp/blablablabla2.jpg' >
=
</label>
<input type="text" name="CaptchaPass" id="captcha"  required/>

所以我需要确定两个jpg中的两个数字并进行算术运算。为了自动执行此过程,我尝试使用以下代码获取jpg

 import requests, sys
 from bs4 import BeautifulSoup

 url = 'https://www.fastssh.com/page/renew-ssh-account'
 s = requests.session()
 text = s.get(url).text
 soup = BeautifulSoup(text)

 options = soup.find_all('option')
 found = False
 for option in options:
     if 'fr.serverip.co' in ''.join(option.contents):
         serverid = option['value']
         found = True
         break
 if not found:
     sys.exit('server not found.')

 captcha = soup.find(id='captcha')
 imgTag2 = captcha.find_previous('img')
 img2 = s.get(imgTag2['src'], stream=True)

 with open('num2.jpg', 'wb') as out:
     for block in img2.iter_content(1024):
         if not block:
             break
         out.write(block)

但是,num2.jpg最后写入磁盘实际上是一个html文件!

此外,我发现如果我使用我的Chrome浏览器加载renew page,请手动复制&amp;将html源代码中的jpg网址粘贴到新标签页并按回车键,它实际上会将我重定向到主页,我相信这是我在num2.jpg上面得到的内容。

我认为这可能与cookie有关?但是requests包中的会话不应该处理所有必要的cookie吗?

0 个答案:

没有答案