Jay Nerella
Jay Nerella

Reputation: 13

Wrong page parsed BeautifulSoup?

I want to enter two values on this website https://hausratversicherung.friday.de/ and retrieve the value after submitting it. I wrote the following code

import requests, re
from robobrowser import RoboBrowser

br = RoboBrowser(parser='html.parser') 
br.open("https://hausratversicherung.friday.de/")

form = br.get_form()
form['area'] = 100
form['postalCode'] = 44326
br.submit_form(form)

src = str(br.parsed())

start = '<div class="Typography-sc-3c3fuf-0 jEIicc" data-testid="totalPrice">'
end = '&nbsp;€</div>'
result = re,search('%s(.*)%s' % (start, end),src).group(1)

print(result)

But the browser br is not opening the mentioned page and taking these values.

Upvotes: 0

Views: 44

Answers (1)

Andrej Kesely
Andrej Kesely

Reputation: 195613

The postal code 44326 isn't accepted by the server. For other postal codes you can query their API directly:

import json
import requests


area = 100
postalcode = 44309

url = 'https://fdy2-policycenter-production.k8s.blue.friday-prod.de/rest/friday/hc/price?area={area}&postalCode={postalcode}'
data = requests.get(url.format(area=area, postalcode=postalcode)).json()

# uncomment this to print all data:
# print(json.dumps(data, indent=4))

# print some info to screen:
print(data['basicCoverages']['coverages'][0]['insuredSum']['amount'])
print(data['basicCoverages']['coverages'][0]['price']['amount'])

Prints:

65000.0
7.81

Upvotes: 0

Related Questions