Is it possible to set Featured Image using HTML?

Yes, it’s possible. You would just use regex to parse the HTML to get the image URL, upload that to the uploads folder, and then set it as the featured image.

Like this:

function set_featured_image_from_html( $html, $post_id ) {
    // If there are no images in the HTML, return early.
    if ( ! preg_match( '/<img\s+.*?src=[\"\']?([^\"\' >]*)[\"\']?[^>]*>/i', $html, $image ) ) {
        return;
    }

    $image_url = $image[1];

    $upload_dir = wp_upload_dir();
    $image_data = file_get_contents( $image_url );
    $filename   = basename( $image_url );

    if ( wp_mkdir_p( $upload_dir['path'] ) ) {
        $file = $upload_dir['path'] . "https://wordpress.stackexchange.com/" . $filename;
    } else {
        $file = $upload_dir['basedir'] . "https://wordpress.stackexchange.com/" . $filename;
    }
    file_put_contents( $file, $image_data );

    $wp_filetype = wp_check_filetype( $filename, null );
    $attachment  = array(
        'post_mime_type' => $wp_filetype['type'],
        'post_title'     => sanitize_file_name( $filename ),
        'post_content'   => '',
        'post_status'    => 'inherit'
    );

    $attach_id   = wp_insert_attachment( $attachment, $file, $post_id );
    require_once( ABSPATH . 'wp-admin/includes/image.php' );
    $attach_data = wp_generate_attachment_metadata( $attach_id, $file );

    wp_update_attachment_metadata( $attach_id, $attach_data );
    set_post_thumbnail( $post_id, $attach_id );
}

You would use it like this:

set_featured_image_from_html('<img src="https://picsum.photos/800">', 29);