'Loading Captcha image form a site does not work

I am trying to collect Captcha images using the Python requests module and save them to file or load in memory for further processing, but nothing works as below.

Code so far, I tried.

import requests
url = 'https://dpdc.org.bd/site/application/libs/captcha/simple-php-captcha.php?_CAPTCHA&t=0.84582400+1651208314'
r = requests.get(url)

with open('file.png', 'wb') as f:
    f.write(requests.get(url).content)

The site I am working with URL

N.B. I tried with request.Session() too, but all went in vain. I am trying to avoid heavy-weight Selenium though selenium can do the job. I will save the Captcha image and solve it using Keras, but I am halted at the Captcha image collection step.



Solution 1:[1]

CAPTHA generates by PHP script that requires a session.

You need to execute 2 requests: 1 for the cookie, 2 for the image with first request cookie.

import requests


form_url = 'https://dpdc.org.bd/site/service/ebill_gov/';
form_response = requests.get(form_url)

# missing code to parse captcha url
# ...

captcha_url = 'https://dpdc.org.bd/site/application/libs/captcha/simple-php-captcha.php?_CAPTCHA&t=0.22003900+1651258878'
captcha_response = requests.get(captcha_url, cookies=form_response.cookies)

with open('file.png', 'wb') as f:
    f.write(captcha_response.content)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 cetver