首页 > 解决方案 > 网络抓取 - 我得到标签但没有值

问题描述

我试图从网站上抓取一些值,但我得到的唯一东西是标签。我试图获取的变量的实际值为空。

我正在使用请求和 BeautifulSoup。


import requests
from bs4 import BeautifulSoup

request = requests.get("https://www.cofidis.pt/cofidis/cofidisredirect.aspx?Prazo=48&IDPartner=6708&Montante=10000&Seguro=0&IDOferta=20719&IDFinalidade=6&IDFinalidadeOption=100&DesignacaoFinalidade=Outros%20Projetos&origem=")
soup = BeautifulSoup(request.text, 'html.parser')    
text = soup.find(id="micro-simulador")
print(text.get_text())

但我只得到标签:


Resumo do seu pedido

Outros Projetos

Montante

Prazo

Mensalidade

TAEG

Seguro

TAN

MTIC

...

目标是获得“微型模拟器”内部的值,例如 TAEG = 11.0%。

谁能告诉我出了什么问题?

标签: pythonweb-scrapingbeautifulsoup

解决方案


由于这些值在输入标签内,您可以按如下方式获取它们:

import requests
from bs4 import BeautifulSoup

request = requests.get("https://www.cofidis.pt/cofidis/cofidisredirect.aspx?Prazo=48&IDPartner=6708&Montante=10000&Seguro=0&IDOferta=20719&IDFinalidade=6&IDFinalidadeOption=100&DesignacaoFinalidade=Outros%20Projetos&origem=")
soup = BeautifulSoup(request.text, 'html.parser')    
text = soup.find(id="micro-simulador")
inputs = text.findAll('input')

for input_tag in inputs:
    print(input_tag.get('id'))
    print(input_tag.get('value'))

推荐阅读