错误的页面解析了BeautifulSoup?

时间:2020-09-07 15:12:34

标签: web-scraping beautifulsoup robobrowser

我想在此网站https://hausratversicherung.friday.de/上输入两个值,并在提交后检索该值。我写了下面的代码

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)

但是浏览器 br 不会打开提到的页面并获取这些值。

1 个答案:

答案 0 :(得分:0)

服务器不接受邮政编码44326。对于其他邮政编码,您可以直接查询其API:

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'])

打印:

65000.0
7.81