I want to scraping all customers complaint from https://www.reclameaqui.com.br/empresa/santander/lista-reclamacoes/?status=NOT_ANSWERED
My code:
class ComplaintScraper(CrawlSpider):
name = "ComplaintScraper"
allowed_domains = ["https://www.reclameaqui.com.br"]
start_urls = [
"https://www.reclameaqui.com.br/empresa/santander/lista-reclamacoes/?status=NOT_ANSWERED", #Only complaints not answered
]
'''
LinkExtractor: An object which defines how links will be extracted from each crawled page.
'''
rules = (
Rule(LinkExtractor(restrict_css = '#__next > div.sc-1mzw716-0.bbugAk > div.sc-1mzw716-1.dAjixN > div.wydd4i-0.jaTnlr > main > '
+ 'section.wydd4i-5.bDtuKO > div.sc-gJpXkD.ebMJNx.xh9b9g-0.jjQFrx > '
+ 'div.sc-1sm4sxr-0.eFXbXn > div:nth-child(1) > a'), callback = "parse_complaint", follow=True),
)
def start_requests(self):
for url in self.start_urls:
yield SplashRequest(url, self.parse_complaint, endpoint='render.html', args={'wait': 0.5})
def parse_complaint(self, response):
print("Hi", response.url)
but, I'm not able to see the first n links in my console,
what would be:
https://www.reclameaqui.com.br/santander/desacordo-comercial_EDEwdRrqoHSC5Win/
https://www.reclameaqui.com.br/santander/estorno-de-seguro-residencial_RsOgQiG151B-n_x8/
https://www.reclameaqui.com.br/santander/do-pix_wylD_ba-c_LBOGQ2/
https://www.reclameaqui.com.br/santander/veiculo-quitado_AP-e15Kmdo0zhlqd/
...
Where am I wrong?
How can I obtain all customers complaint from this list https://www.reclameaqui.com.br/empresa/santander/lista-reclamacoes/?status=NOT_ANSWERED
?
I was able to scrape them fine without using splash...
import scrapy
class ComplaintScraper(scrapy.Spider):
name = "ComplaintScraper"
def start_requests(self):
base = "https://www.reclameaqui.com.br/empresa/santander/lista-reclamacoes/?status=NOT_ANSWERED"
yield scrapy.Request(base, self.parse_complaint)
for i in range(263):
page = "https://www.reclameaqui.com.br/empresa/santander/lista-reclamacoes/?pagina=%d&status=NOT_ANSWERED" % i
yield scrapy.Request(page, self.parse_complaint)
def parse_complaint(self, response):
for row in response.xpath('//div[contains(#class,"bJdtis")]'):
text = row.xpath(".//p/text()").get()
title = row.xpath("./a/h4/text()").get()
link = row.xpath("./a/#href").get()
yield {"text": text, "title": title, "link": link}
yield scrapy.Request(response.urljoin(link), callback=self.parse_page, dont_filter=True)
def parse_page(self, response):
company = response.xpath("//a[#data-testid='company-page-link']//text()").get()
date_created = response.xpath("//span[#data-testid='complaint-creation-date']//text()").get()
complaint_id = response.xpath("//span[#data-testid='complaint-id']//text()").getall()
description = response.xpath("//p[#data-testid='complaint-description']//text()").getall()
yield {
"company":company,
"date_created":date_created,
"complaint_id":complaint_id,
"description":description,
}
output: json
[
{"text": "J\u00e1 cansei de receber liga\u00e7\u00f5es do banco Santander naquela liga\u00e7\u00e3o de rob\u00f4 dizendo que minha margem para empr\u00e9stimo aumentou. Isso j", "title": "Santander me liga todos os dias em grava\u00e7\u00e3o autom\u00e1tica oferecendo empr\u00e9stimo", "link": "/santander/santander-me-liga-todos-os-dias-em-gravacao-automatica-oferecendo-emprestim_c910djaXUkL0vqC1/"},
{"text": "Cancelei meu cart\u00e3o de cr\u00e9dito e pedi um cart\u00e3o d\u00e9bito. V\u00e1rios meses atr\u00e1s, fui ao banco desbloquear meu cart\u00e3o no caixa eletr\u00f4nic", "title": "Cart\u00e3o atendimento", "link": "/santander/cartao-atendimento_4tSDcLpU_qCr9IZ0/"},
{"text": "Ol\u00e1, eu fiz um acordo pro meu pai pelo Serasa de uma d\u00edvida com o Santander, o acordo foi feito em 10 parcelas, est\u00e1vamos pagando ", "title": "Acordo Quebrado", "link": "/santander/acordo-quebrado_PNN55c7K25I0x4xl/"},
{"text": "Realizei um consorcio para aquisi\u00e7\u00e3o de uma moto no Banco Santander, passei a marca e o modelo para a gerente e ela me incluiu em ", "title": "Cons\u00f3rcio para aquisi\u00e7\u00e3o de moto.", "link": "/santander/consorcio-para-aquisicao-de-moto_rK0IZcJn_VCAHu9Y/"},
{"text": "Tentei fazer TED e por motivo de seguran\u00e7a pediram pra ligar no 40043535. Liguei. Me transferiram para outro setor protocolo 20896", "title": "Falta de respeito", "link": "/santander/falta-de-respeito_fUS4AzqqAGiZx0SS/"},
{"text": "Venho por meio deste formalizar minha reclama\u00e7\u00e3o e total insatisfa\u00e7\u00e3o com os servi\u00e7os prestados pelo banco Santander, desde o dia ", "title": "Sem acesso aos extratos banc\u00e1rios ", "link": "/santander/sem-acesso-aos-extratos-bancarios_jVmU9hRwxqlhaibo/"},
{"text": "Estou a dois dias tentando fazer uma simples altera\u00e7\u00e3o da data de vencimento da minha fatura e n\u00e3o consigo. J\u00e1 tentei pelo aplicat", "title": "N\u00e3o consigo alterar a data de vencimento da minha fatura!!!!!!!!", "link": "/santander/nao-consigo-alterar-a-data-de-vencimento-da-minha-fatura_Qi784WgI_oNBAiNP/"},
{"text": "Banco Santander n\u00e3o est\u00e1 cumprindo com a lei. Eu como consumidor desta ag\u00eancia, venho sofrendo com a falta de comunica\u00e7\u00e3o. D", "title": "Redu\u00e7\u00e3o de limite sem comunica\u00e7\u00e3o ", "link": "/santander/reducao-de-limite-sem-comunicacao_S-7m437JuzTffUFo/"},
{"text": "Pessoal, venho atrav\u00e9s deste canal relatar minha indigina\u00e7\u00e3o mediante um acontecimento que ocorreu comigo na sexta feira dia 21/10", "title": "Sequestro rel\u00e2mpago e transa\u00e7\u00f5es banc\u00e1rias mediante coa\u00e7\u00e3o com arma de fogo", "link": "/santander/sequestro-relampago-e-transacoes-bancarias-mediante-coacao-com-arma-de-fogo_pclnXGFHD-WCofjT/"},
{"text": "Solicitei o cart\u00e3o AMEX Platinun com isen\u00e7\u00e3o vital\u00edcia da anuidade. No dia 12/10 recebi SMS informando uma senha de 4 d\u00edgitos para", "title": "AMEX - Imposs\u00edvel falar com qualquer pessoa do Santander, ou conseguir qualquer informa\u00e7\u00e3o", "link": "/santander/amex-impossivel-falar-com-qualquer-pessoa-do-santander-ou-conseguir-qual_5no5tbszf81asmVv/"},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 16:55", "complaint_id": ["ID:", " 152486909"], "description": ["Banco Santander n\u00e3o est\u00e1 cumprindo com a lei. Eu como consumidor desta ag\u00eancia, venho sofrendo com a falta de comunica\u00e7\u00e3o. ", "Dessa vez agora sem nenhum aviso pr\u00e9vio, tiraram meu cheque especial R$ 800,00. ", "Onde sempre cumpri com a reposi\u00e7\u00e3o ou pagamento de juros das vezes que precisei utilizar. ", "Entrei no meu app e informa que n\u00e3o tenho mais o servi\u00e7o dispon\u00edvel.", "E vai me desestruturar financeiramente. Por que irei receber meu sal\u00e1rio e n\u00e3o vai retornar como cr\u00e9dito de cheque especial. ", "Ainda mais sem comunica\u00e7\u00e3o previs\u00e3o nenhuma. ", "Se soubesse, ou se o banco informasse que iria tirar o servi\u00e7o eu n\u00e3o teria nem utilizado, para n\u00e3o comprometer meu sal\u00e1rio m\u00eas que vem.", "Isso fere meus direitos de consumidor.", "J\u00e1 me informei no procon: ", "RECURSO INOMINADO. A\u00c7\u00c3O DE INDENIZA\u00c7\u00c3O POR DANOS MORAIS. CANCELAMENTO DE LIMITE DE CR\u00c9DITO EM CONTA CORRENTE. AUS\u00caNCIA DE AVISO PR\u00c9VIO. FALHA NA PRESTA\u00c7\u00c3O DOS SERVI\u00c7OS. DANO MORAL CARACTERIZADO. SENTEN\u00c7A DE PROCED\u00caNCIA. RECURSO DO AUTOR PELA MAJORA\u00c7\u00c3O DOS DANOS MORAIS. INDENIZAT\u00d3RIO ADEQUADO \u00c0SQUANTUM PARTICULARIDADES DO CASO CONCRETO. PRINC\u00cdPIOS DA PROPORCIONALIDADE E RAZOABILIDADE IGUALMENTE ATENDIDOS. MANUTEN\u00c7\u00c3O DA SENTEN\u00c7A PELOS PR\u00d3PRIOS FUNDAMENTOS. RECURSO CONHECIDO E DESPROVIDO...", "Sem contar que , a cada dia que passa est\u00e3o cobrando juros em cima do que utilizei."]},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 17:22", "complaint_id": ["ID:", " 152488685"], "description": ["Cancelei meu cart\u00e3o de cr\u00e9dito e pedi um cart\u00e3o d\u00e9bito. V\u00e1rios meses atr\u00e1s, fui ao banco desbloquear meu cart\u00e3o no caixa eletr\u00f4nico n\u00e3o consigo, aparece uma mensagem, falar como um dos atendentes. tentei a primeira vez ia demorar para ser atendido, na alega\u00e7\u00e3o que tinha de esperar.", "Fui hoje novamente peguei a senha 12:54h e at\u00e9 as 13: 40h n\u00e3o fui atendido, liguei no 0800 para atendimento n\u00e3o fui atendido pois pede uma senha de 6 d\u00edgitos e n\u00e3o possuo essa senha. Ent\u00e3o n\u00e3o consegui nada, a grava\u00e7\u00e3o me agradece e desliga. N\u00e3o consigo falar com ningu\u00e9m. preciso desbloquear o cart\u00e3o para pagar uma pend\u00eancia e n\u00e3o consigo. E para finalizar est\u00e3o me ligando para uma empresa em um n\u00famero que n\u00e3o foi cadastrado no sistema do banco. (Suzana). Peguei o n\u00famero do zap cadastrei no meu telefone, aparece uma mensagem, n\u00e3o encontramos manifesta\u00e7\u00e3o... \" Se precisar estarei aqui at\u00e9 a pr\u00f3xima\"aparece uma carinha sorrindo e mais nada. Preciso de uma solu\u00e7\u00e3o."]},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 17:10", "complaint_id": ["ID:", " 152487895"], "description": ["Venho por meio deste formalizar minha reclama\u00e7\u00e3o e total insatisfa\u00e7\u00e3o com os servi\u00e7os prestados pelo banco Santander, desde o dia 06/10 solicito os extratos banc\u00e1rios da minha conta jur\u00eddica na ag\u00eancia Ag 1572", "Cc 13001702-3 e n\u00e3o consigo o gerente alega que meu CPF est\u00e1 bloqueado na receita federal por conta de declara\u00e7\u00e3o IR e que eu tenho que regularizar a situa\u00e7\u00e3o do meu CPF para conseguir acesso a conta, por\u00e9m eles n\u00e3o podem me privar das minhas informa\u00e7\u00f5es. Pe\u00e7o que venha o quanto resolvam o quanto antes est\u00e1 situa\u00e7\u00e3o o quanto antes, pois preciso das informa\u00e7\u00f5es para fins judiciais "]},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 16:40", "complaint_id": ["ID:", " 152485959"], "description": ["Solicitei o cart\u00e3o AMEX Platinun com isen\u00e7\u00e3o vital\u00edcia da anuidade. No dia 12/10 recebi SMS informando uma senha de 4 d\u00edgitos para o cart\u00e3o emitido com final 8234, mas at\u00e9 o momento n\u00e3o recebi o cart\u00e3o. como j\u00e1 se passaram duas semanas do recebimento da senha de 4 d\u00edgitos enviada por SMS, gostaria de saber se o cart\u00e3o realmente foi enviado ou se pode ter sido extraviado.", "Tentei contato por todos os canais de comunica\u00e7\u00e3o que encontrei (4004-3535, whatsapp 11 4004-3535, chat e reclama\u00e7\u00e3o via site), procurei o telefone direto de v\u00e1rias ag\u00eancias pelo Google e ao ligar, informam que o n\u00famero mudou para 4004-3535 e desligam automaticamente. Ao ligar no 4004-3535, pedem o CPF e uma senha de 6 d\u00edgitos, sem dar op\u00e7\u00e3o de atendimento. Ao n\u00e3o digitar a senha ou digitar a senha recebida, informa\u00e7\u00e3o que n\u00e3o \u00e9 um d\u00edgito v\u00e1lido e a liga\u00e7\u00e3o \u00e9 derrubada automaticamente. Instalei o APP Santander AMEX, entro com meu CPF, meu cadastro e cart\u00e3o s\u00e3o identificados, recebo o c\u00f3digo de valida\u00e7\u00e3o e ao inserir, novamente pedem a tal senha de 6 d\u00edgitos que n\u00e3o tenho nem cadastrei. Ao ir em uma ag\u00eancia, pedem para ligar na Central de Cart\u00f5es. \u00c9 simplesmente imposs\u00edvel conseguir falar com qualquer pessoa no Santander e n\u00e3o sei se o cart\u00e3o pode ou n\u00e3o estar na m\u00e3o de terceiros."]},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 16:42", "complaint_id": ["ID:", " 152486075"], "description": ["Pessoal, venho atrav\u00e9s deste canal relatar minha indigina\u00e7\u00e3o mediante um acontecimento que ocorreu comigo na sexta feira dia 21/10 por volta das 22:00.", "Fui sequestrado e mediante coa\u00e7\u00e3o com arma de fogo foi utilizado minha conta banc\u00e1ria tanto f\u00edsica quanto jur\u00eddica para execu\u00e7\u00e3o de pix e transa\u00e7\u00f5es via cart\u00e3o de cr\u00e9dito.", "Tive um prejuizo de 6,5 mil em transa\u00e7\u00f5es via pix na conta jur\u00eddica e mais outro prejuizo de 26 mil em transa\u00e7\u00f5es via cart\u00e3o de cr\u00e9dito na conta f\u00edsica.", "Durante todo este processo fiquei em cativeiro por 18h sendo coagido e amea\u00e7ado com arma de fogo na cabe\u00e7a temendo pela minha vida.", "Ao ligar na central de relacionamento do banco santander no setor de contesta\u00e7\u00e3o e [Editado pelo Reclame Aqui]s, por incr\u00edvel que pare\u00e7a (chega a ser at\u00e9 absurdo), fui informado que n\u00e3o poderia ser ressarcido pois a quest\u00e3o se tratava de seguran\u00e7a p\u00fablica e agora eu tenho que arcar com todas as despesas que me foram subtra\u00eddas sob amea\u00e7a de morte.", "Infelizmente depois de aproximadamente 15 anos de bom relacionamento com o santander, estou sendo obrigado a abrir um processo judicial contra meu pr\u00f3prio banco, al\u00e9m de exigir uma liminar contra esses valores e tamb\u00e9m estou registrando uma queixa no BACEN (Banco Central)."]},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 17:23", "complaint_id": ["ID:", " 152488791"], "description": ["J\u00e1 cansei de receber liga\u00e7\u00f5es do banco Santander naquela liga\u00e7\u00e3o de rob\u00f4 dizendo que minha margem para empr\u00e9stimo aumentou. Isso j\u00e1 se tornou um incom\u00f4do h\u00e1 muito tempo. J\u00e1 tentei inclusive completar a liga\u00e7\u00e3o e falar com o atendente dizendo que n\u00e3o tenho interesse e que eles parem de me ligar. Na maioria das x s\u00e3o mal educados. J\u00e1 bloqueei in\u00fameros telefones deles e n\u00e3o obtive sucesso. Esse banco me importuna todos os dias. Esse \u00e9 o primeiro passo para tentar resolver o assunto e se n\u00e3o adiantar vou para o procon, justi\u00e7a, enfim o que estiver no meu direito. Esse banco acha que n\u00e3o temos mais o que fazer al\u00e9m de ficar atendendo essas liga\u00e7\u00f5es rob\u00f3ticas todos os dias e n\u00e3o apenas 1 x, s\u00e3o v\u00e1rias x ao dia. E s\u00e3o 2 n\u00fameros de telefone meus que vcs tem. Querem que me tirem da lista de vcs. N\u00e3o tenho interesse em fazer nenhum empr\u00e9stimo, muito menos com o BANCO SANTANDER!!!! Parem de me ligar!!!"]},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 17:21", "complaint_id": ["ID:", " 152488675"], "description": ["Ol\u00e1, eu fiz um acordo pro meu pai pelo Serasa de uma d\u00edvida com o Santander, o acordo foi feito em 10 parcelas, est\u00e1vamos pagando certinho, pagamos 5 parcelas, faltam 5 parcelas. A 6 parcela vence dia 28/11/2022, eu fui baixar o boleto para pagar, me deparei com a seguinte situa\u00e7\u00e3o: \"O acordo foi quebrado por falta de pagamento. Aguarde uma nova oferta ou fale com o credor.\"", "Por que o acordo foi quebrado sendo que est\u00e1vamos pagando certinho? Queremos terminar o pagamento desses 5 boletos que est\u00e3o faltando.", "Segue anexo alguns prints.", "Fico no aguardo."]},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 17:19", "complaint_id": ["ID:", " 152488511"], "description": ["Realizei um consorcio para aquisi\u00e7\u00e3o de uma moto no Banco Santander, passei a marca e o modelo para a gerente e ela me incluiu em um grupo em andamento, assinei o termo de ades\u00e3o ciente das informa\u00e7\u00f5es descritas nele. No ato de fazer a autoriza\u00e7\u00e3o de pagamento me informaram que a cilindrada da moto que eu estava solicitando n\u00e3o era compat\u00edvel com a descrita em contrato, por\u00e9m no documento que eu assinei n\u00e3o havia nenhuma particularidade de restri\u00e7\u00e3o de cilindrada e o por isso n\u00e3o consegui pegar a minha moto. No ato da aquisi\u00e7\u00e3o eu sabia a moto que eu queria, mas agora n\u00e3o consigo compra-la por causa desta clausula no contrato que n\u00e3o recebi que estava dispon\u00edvel no portal do consorciado que foi liberado no outro dia (depois de assinado o termo de ades\u00e3o). Se eu soubesse dessa quest\u00e3o da cilindrada eu n\u00e3o teria contratado o servi\u00e7o."]},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 17:15", "complaint_id": ["ID:", " 152488191"], "description": ["Tentei fazer TED e por motivo de seguran\u00e7a pediram pra ligar no 40043535. Liguei. Me transferiram para outro setor protocolo 208967222. N\u00e3o consegui. Tentei passar pra minha PROPRIA conta em outro Banco : n\u00e3o consegui !!!! Liguei no SAC~n\u00e3o adianta!!!!! como pode isso???? mais um protocolo 208967783. Tive que ir at\u00e9 Ag\u00eancia . Me ligaram 36 horas depois e agora bloquearam me app"]},
{"company": "Banco Santander", "date_created": "26/10/2022 \u00e0s 17:05", "complaint_id": ["ID:", " 152487613"], "description": ["Estou a dois dias tentando fazer uma simples altera\u00e7\u00e3o da data de vencimento da minha fatura e n\u00e3o consigo. J\u00e1 tentei pelo aplicativo milh\u00f5es de vezes e nada, tentei o atendimento pelo telefone mas o atendimento \u00e9 in\u00fatil e p\u00e9ssimo! Resolvam!!!!"]}
]
Guys I need to make a bot that will collect some information from links, it will first go to this link https://www.mediktor.com/pt-br/glossario and get the links to all the diseases and then go one by one and get their information like description, epidemiology, symptoms and etc. I came up with this code where it can get the links but it doesn't return anything when I try to access them and get the information
import scrapy
import time
import requests
import pandas as pd
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
import json
class DicionarioSpider(scrapy.Spider):
name = 'dicionario'
allowed_domains = ['www.mediktor.com']
start_urls = ['http://www.mediktor.com/']
def start_requests(self):
url = "https://www.mediktor.com/pt-br/glossario"
options = Options()
options.headless = True
driver = webdriver.Chrome(options=options)
driver.get(url)
time.sleep(10)
doencas = driver.find_elements(
By.XPATH, "//a[#class='mdk-dictionary-list__glossary-item']")
for doenca in doencas:
url = doenca.get_attribute('href')
yield scrapy.Request(url)
driver.quit()
def parse(self, response):
urls = response.css(
'.mdk-dictionary-list__glossary-item a::attr(href)')
for url in urls:
yield response.follow(url.get(), callback=self.parse_info)
def parse_info(self, response):
contents = response.css('div.page-glossary-detail__main-content')
for desc in response.css('div.mdk-conclusion-detail__main-description'):
desc = response.css('p ::text').getall()
yield {
'desc': desc
}
for content in contents:
yield{
'name': content.css(
'div.mdk-conclusion-detail__main-title ::text').get().strip(),
'espec': content.css(
'div.mdk-ui-list-item__text mdc-list-item__text span::text').strip()
}
the data is dynamically loaded, you can get all possible IDs, and one by one go through and get information on them. In my example, getting the first one from the list, and a huge JSON from which you will get all the necessary data. I had to cut off part of it because of the character limit
import pandas as pd
import requests
from bs4 import BeautifulSoup
def get_auth_code():
url = "https://www.mediktor.com/vendor.js"
response = requests.get(url)
start_index = response.text.index('APP_API_AUTH_CODE:"', 0) + len('APP_API_AUTH_CODE:"')
end_index = response.text.index('"', start_index)
return response.text[start_index:end_index]
def get_auth_token_and_device_id():
url = "https://euapi01.mediktor.com/backoffice/services/login"
payload = "{\"useCache\":0,\"apiVersion\":\"4.1.1\",\"appVersion\":\"8.7.0\"," \
"\"appId\":null,\"deviceType\":\"WEB\",\"deviceToken\":null,\"language\":\"en_EN\"," \
"\"timezoneRaw\":180,\"authTokenRefreshExpiresIn\":null}"
headers = {
'authorization': f'Basic {get_auth_code()}',
'Content-Type': 'text/plain'
}
response = requests.request("POST", url, headers=headers, data=payload)
return response.json()['authToken'], response.json()['deviceId']
def get_conclusion_list(auth_token, device_id):
url = "https://euapi01.mediktor.com/backoffice/services/conclusionList"
payload = "{\"useCache\":168,\"apiVersion\":\"4.1.1\",\"appVersion\":\"8.7.0\"" \
",\"appId\":null,\"deviceType\":\"WEB\",\"deviceToken\":null,\"language\":\"pt_BR\"," \
"\"timezoneRaw\":180,\"deviceId\":\"" + device_id + "\"}"
headers = {
'accept': 'application/json, text/plain, */*',
'authorization': f'Bearer {auth_token}',
'content-type': 'application/json;charset=UTF-8'
}
response = requests.request("POST", url, headers=headers, data=payload)
return [conclusionId['conclusionId'] for conclusionId in response.json()['conclusions']]
def get_details(conclusionId, auth_token, device_id):
url = "https://euapi01.mediktor.com/backoffice/services/conclusionDetail"
payload = "{\"useCache\":0,\"apiVersion\":\"4.1.1\",\"appVersion\":\"8.7.0\"," \
"\"appId\":null,\"deviceType\":\"WEB\",\"deviceToken\":null,\"language\":\"pt_BR\"," \
"\"timezoneRaw\":180,\"deviceId\":\"" + device_id + "\"," \
"\"conclusionId\":\"" + conclusionId + "\"," \
"\"conclusionTemplate\":\"conclusion_description_body\",\"includeActions\":true}"
headers = {
'authorization': f'Bearer {auth_token}',
'content-type': 'application/json;charset=UTF-8'
}
response = requests.request("POST", url, headers=headers, data=payload)
return response.text
auth_token, device_id = get_auth_token_and_device_id()
conclusion_list = get_conclusion_list(auth_token, device_id)
for conclusion in conclusion_list[:1]:
print(get_details(conclusion, auth_token, device_id))
OUTPUT:
{"conclusion":{"conclusionId":"e61a5a5b-2587-48ee-af32-49331f659810","description":"Pitiríase rósea de Gibert (Pediatria)","descriptionMap":{"it_IT":["Pitiriasi rosea di Gibert (Pediatria)"],"el_GR":["Ροδόχρους πιτυρίαση Gilbert (Παιδιατρική)"],"fr_BE":["Pityriasis rosé de Gibert (Pédiatrie)"],"nl_BE":["Pityriasis rosea van Gibert (Pediatrie)"],"pt_BR":["Pitiríase rósea de Gibert (Pediatria)"],"fr_FR":["Pityriasis rosé de Gibert (Pédiatrie)"],"ca_ES":["Pitiriasi rosada de Gibert (Pediatria)"],"de_DE":["Röschenflechte - Pityriasis rosea (Kinderheilkunde)"],"en_US":["Pityriasis rosea Gibert (Pediatrics)"],"es_MX":["Pitiriasis rosada de Gibert (Pediatría)"],"zh_CN":["玫瑰糠疹 (儿科)"],"es_ES":["Pitiriasis rosada de Gibert (Pediatría)"],"en_EN":["Pityriasis rosea Gibert (Paediatrics)"],"pt_PT":["Pitiríase rósea de Gibert (Pediatria)"]},"lastEdited":1650459591108,"frequency":0.2,"frequencyEnum":0,"descriptionHeaderImage":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=45c9a541-dbfc-41fe-8b73-76d021b245a1&d=1596042153781&b&l=1920","descriptionExtendedManagerFullName":"Dr Maria Trabazo","lastEditedGlobalFormattedToDay":"20/05/2022","severity":0.05,"severityEnum":0,"icd9":"696.3","icd10":"L42","specialties":["Dermatologia","Pediatria"],"specialtyIdList":["11","32"],"hasDescriptionExtended":true,"images":["https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=45c9a541-dbfc-41fe-8b73-76d021b245a1&d=1596042153781&b&l=1920","https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=9cd01ae5-383b-481a-92a8-518fe4dc3a9d&d=1560963312374&b&l=1920","https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=02202660-d437-4f91-b0c1-3cd35efb6663&d=1500652985149&b&l=1920"],"mediaFileList":[{"mediaURL":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=45c9a541-dbfc-41fe-8b73-76d021b245a1&d=1596042153781&b&l=1920","copyright":"© Copyright TeckelMedical","description":"Pitiríase rósea de Gibert","type":1},{"mediaURL":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=9cd01ae5-383b-481a-92a8-518fe4dc3a9d&d=1560963312374&b&l=1920","copyright":"© Copyright BIODERMA PRO","description":"Pitiríase de Gibert","type":1},{"mediaURL":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=02202660-d437-4f91-b0c1-3cd35efb6663&d=1500652985149&b&l=1920","copyright":"© Copyright TeckelMedical","description":"Pitiríase rósea de Gibert","type":1}],"actionList":[],"specialtyList":[{"categoryId":"11","specialtyId":"11","name":"Dermatologia","descriptionExtended":"<p>Especialidade que estuda, diagnostica e trata doenças da pele.</p>\n\n<p>Existem subespecialidades da dermatologia como, por exemplo, a dermatologia pediátrica, dermatologia cosmética, etc.</p>","image":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=bfbba59f-806d-43a7-a5c4-cbde2210143b&d=1477780137091&b&l=960","propertyValueList":[{"propertyId":"b9d82cad-1911-4fb6-b764-21fc25cf0341","name":"Código de especialidade do Medicare","value":"7"},{"propertyId":"593639e8-6423-4597-8801-3e362c1f9b7d","name":"OMC Id","value":"16"},{"propertyId":"cb6e1fc1-a673-4eab-8dec-4a483a473818","name":"SNOMED","value":"394582007"}],"isActive":true,"lastEdited":1657546400463,"typeMask":1048580,"isExclusive":false,"isSpecialty":true,"isHomeSection":false,"shownOrder":100,"tintColor":"#FF03A6A6","statements":[]},{"categoryId":"32","specialtyId":"32","name":"Pediatria","descriptionExtended":"<p>Especialidade que estuda, diagnostica, trata e previne doenças da infância.</p>\n\n<p>Engloba desde o nascimento até a adolescência, que, dependendo do país, varia desde os 16 aos 18 anos.</p>","image":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=b2dca339-eee3-479f-9545-67f6d9872cc2&d=1477779967750&b&l=960","propertyValueList":[{"propertyId":"b9d82cad-1911-4fb6-b764-21fc25cf0341","name":"Código de especialidade do Medicare","value":"37"},{"propertyId":"593639e8-6423-4597-8801-3e362c1f9b7d","name":"OMC Id","value":"2"}],"isActive":true,"lastEdited":1657546400456,"typeMask":4,"isExclusive":false,"isSpecialty":true,"isHomeSection":false,"shownOrder":100,"tintColor":"#FF03A6A6","statements":[]}],"descriptionExtended":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n <!DOCTYPE html PUBLIC \"-//WAPFORUM//DTD XHTML Mobile 1.2//EN\"\r\n \"http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd\">\r\n <html>\r\n <head>\r\n <meta name=viewport content=\"width=device-width, initial-scale=1\">\r\n <meta charset=\"utf-8\" /> \r\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n <style>\r\n \tbody\r\n \t{\r\n \t\tmargin:0;\r\n \t\tpadding:0;\r\n \t\tfont-family: helvetica, arial, sans-serif;\r\n \t}\r\n \t.imgheadercontainer\r\n \t{\t\r\n \t\twidth:100%;\r\n \t}\r\n \t.imgheader\r\n \t{\r\n \t\twidth:100%;\r\n \t}\r\n \t.descriptionscontainer\r\n \t{\t\r\n \t\tpadding:10px;\r\n \t\ttext-align:justify;\r\n \t}\r\n \t.attachment_thumbnail\r\n \t{\r\n \t\twidth:20%;\r\n \t\theight:auto;\r\n \t}\r\n </style>\r\n </head>\r\n <body>\r\n \r\n <div class=\"descriptionscontainer\">\r\n <p>\n<p>Erupção benigna na pele que se caracteriza por placas eritematosas, que costumam começar no peito, costas e/ou abdômen e podem se espalhar para o resto do corpo. Pode surgir em qualquer idade, mas predomina em crianças maiores e adultos jovens.</p>\n<p>A causa é desconhecida, mas acredita-se ser devido a uma infecção viral. Não é contagiosa entre pessoas.</p>\n<p>Os sintomas iniciais são semelhantes a um resfriado comum: dor de cabeça, febre, dor de garganta e/ou congestão nasal. Segue-se o aparecimento de uma grande lesão cutânea escamosa e arredondada, que em poucos dias se estende na forma de lesões menores pelo resto do corpo. Geralmente, estas lesões provocam intensa coceira.</p>\n<p>O diagnóstico é clínico, baseado na anamnese e exame físico. Se existe dúvida quanto ao diagnóstico, pode-se complementar o estudo com exame de sangue e biopsia.</p>\n<p>O tratamento baseia-se em aliviar a coceira com anti-histamínicos e/ou loções; remédios caseiros, como banhos com água morna, podem ajudar a diminuir a coceira. O uso de fototerapia pode acelerar o desaparecimento das lesões cutâneas. Por último, empregam-se antivirais nos casos claramente associados a uma virose.</p>\n<p>Se você tem algum destes sintomas ou eles ainda não desapareceram 12 semanas após o diagnóstico, consulte um especialista.</p>\n</p>\r\n </div>\r\n <br/>\r\n <div class=\"imgheadercontainer\">\r\n <img class=\"imgheader\" src=\"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=45c9a541-dbfc-41fe-8b73-76d021b245a1&d=1596042153781&b&l=1920\"/>\r\n </div>\r\n <br/>\r\n <div class=\"descriptionscontainer\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n <h4>Referências</h4>\r\n <p>\n<ol>\n\t<li>J. M Moragas. Manifestaciones cutáneas de las enfermedades internas. Interpretación de las alteraciones en la piel. Farreras Rozman. Medicina Interna. Volumen I. Duodécima edición. 707:719.</li>\n\t<li>T. J. Lwley, K.B. Yancey. Trastornos de la piel. Valoración del paciente con trastornos cutáneos. Harrison. Principios de Medicina Interna. Volumen I. Decimonovena edición. 339:352.</li>\n\t<li>I. López, C. Durán, M.M. Sáez, L. Orozco, C. Palacios, R. Ruiz. Pitiriasis rosada: un exantema que debe ser reconocido por el médico de primer contacto. Estudio de 30 casos. Acta Pediátr Mex 2014;35:289-294.</li>\n\t<li>UpToDate [Internet]. Waltham. 2017. Pityriasis rosea; [citado el 20 de julio de 2017]. Disponible en: http://www.uptodate.com/contents/pityriasis-rosea?source=search_result&search=pitiriasis+rosada&selectedTitle=1~1</li>\n</ol>\n</p>\r\n <br/>\r\n \r\n <h4>Palavras-chave</h4>\r\n <p>pitiríase rosea, vírus do herpes 7, pitiríase rósea de Gilbert, pitiríase rosea gibert</p>\r\n <br/>\r\n \r\n \r\n \r\n <br/>\r\n <br/>\r\n \r\n <p style=\"float:right;\"><b><small>\r\n \r\n Autor: Dr Maria Trabazo\r\n <br/>\r\n \r\n \r\n Revisado: 20/05/2022\r\n <br/>\r\n \r\n © TeckelMedical 2022</small></b></p>\r\n \r\n </div>\r\n \r\n </body>\r\n </html>","descriptionSummary":"<p>Erupção benigna na pele que se caracteriza por placas eritematosas, que costumam começar no peito, costas e/ou abdômen e podem se espalhar para o resto do corpo. Pode surgir em qualquer idade, mas predomina em crianças maiores e adultos jovens.</p>\n\n<p>A causa é desconhecida, mas acredita-se ser devido a uma infecção viral. Não é contagiosa entre pessoas.</p>\n\n<p>Os sintomas iniciais são semelhantes a um resfriado comum: dor de cabeça, febre, dor de garganta e/ou congestão nasal. Segue-se o aparecimento de uma grande lesão cutânea escamosa e arredondada, que em poucos dias se estende na forma de lesões menores pelo resto do corpo. Geralmente, estas lesões provocam intensa coceira.</p>\n\n<p>O diagnóstico é clínico, baseado na anamnese e exame físico. Se existe dúvida quanto ao diagnóstico, pode-se complementar o estudo com exame de sangue e biopsia.</p>\n\n<p>O tratamento baseia-se em aliviar a coceira com anti-histamínicos e/ou loções; remédios caseiros, como banhos com água morna, podem ajudar a diminuir a coceira. O uso de fototerapia pode acelerar o desaparecimento das lesões cutâneas. Por último, empregam-se antivirais nos casos claramente associados a uma virose.</p>\n\n<p>Se você tem algum destes sintomas ou eles ainda não desapareceram 12 semanas após o diagnóstico, consulte um especialista.</p>","descriptionKeywords":"pitiríase rosea, vírus do herpes 7, pitiríase rósea de Gilbert, pitiríase rosea gibert","descriptionBibliography":"<ol>\n\t<li>J. M Moragas. Manifestaciones cutáneas de las enfermedades internas. Interpretación de las alteraciones en la piel. Farreras Rozman. Medicina Interna. Volumen I. Duodécima edición. 707:719.</li>\n\t<li>T. J. Lwley, K.B. Yancey. Trastornos de la piel. Valoración del paciente con trastornos cutáneos. Harrison. Principios de Medicina Interna. Volumen I. Decimonovena edición. 339:352.</li>\n\t<li>I. López, C. Durán, M.M. Sáez, L. Orozco, C. Palacios, R. Ruiz. Pitiriasis rosada: un exantema que debe ser reconocido por el médico de primer contacto. Estudio de 30 casos. Acta Pediátr Mex 2014;35:289-294.</li>\n\t<li>UpToDate [Internet]. Waltham. 2017. Pityriasis rosea; [citado el 20 de julio de 2017]. Disponible en: http://www.uptodate.com/contents/pityriasis-rosea?source=search_result&search=pitiriasis+rosada&selectedTitle=1~1</li>\n</ol>","genderEpidemiologyDescription":"Encontrado igualmente em ambos os sexos.","ageEpidemiologyDescription":"Ocorre até a idade de 18 anos.","epidemiologyDescription":"Encontrado igualmente em ambos os sexos.\n Ocorre até a idade de 18 anos.\n","authorDescription":"Dr Maria Trabazo","copyrightDescription":"© TeckelMedical 2022","propertyValueList":[{"propertyId":"dd165ff4-e848-4b3e-b7bb-cec77117b8a1","name":"CID9","value":"696.3"},{"propertyId":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9","name":"CID9 revisado","value":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9:reviewed"},{"propertyId":"05c21681-3ff1-4c8c-bb0a-beba62984b6d","name":"CID10","value":"L42"},{"propertyId":"85c59095-eefe-469e-a6c4-faa7bf67d6a1","name":"CID10 revisado","value":"85c59095-eefe-469e-a6c4-faa7bf67d6a1:reviewed"},{"propertyId":"4a637756-3fd4-419b-9c84-31075135d8a3","name":"ICD11","value":"EA10"},{"propertyId":"f29c2d86-81fb-4ece-8375-bc1d89545af6","name":"CID11 revisado","value":"f29c2d86-81fb-4ece-8375-bc1d89545af6:reviewed"},{"propertyId":"cb6e1fc1-a673-4eab-8dec-4a483a473818","name":"SNOMED","value":"77252004"},{"propertyId":"b811b9b7-2aba-422b-9794-ae4633c837d9","name":"SNOMED revisado","value":"b811b9b7-2aba-422b-9794-ae4633c837d9:reviewed"}],"symptomsOrSigns":[{"statement":{"statementId":"207","description":"Você tem uma erupção cutânea?","descriptionShort":"Erupção cutânea","images":["https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=a00ba8a5-fc16-40cc-813b-f752548a93a0&d=1605264931409&b&l=1920","https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=b8027d03-fcc9-4dd0-901e-66b79f170268&d=1477638095996&b&l=1920"],"mediaFileList":[{"mediaURL":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=a00ba8a5-fc16-40cc-813b-f752548a93a0&d=1605264931409&b&l=1920","copyright":"© Copyright TeckelMedical","type":1},{"mediaURL":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=b8027d03-fcc9-4dd0-901e-66b79f170268&d=1477638095996&b&l=1920","copyright":"© Copyright TeckelMedical","type":1}],"questionType":0,"descriptionLarge":"Zona da pele avermelhada, com manchas e/ou borbulhas, geralmente irritada.","descriptionExtended":"Zona da pele avermelhada, com manchas e/ou borbulhas, geralmente irritada.","hasDescriptionExtended":true,"categoryIdList":[],"propertyValueList":[{"propertyId":"9732a98d-86c1-4df9-9522-bc479417e25d","name":"CID10 +Genéricos","value":"R21"},{"propertyId":"ea24aba3-468d-42ba-8cf1-c95d1322aee6","name":"CID9 + Genérico","value":"782.1"},"statementId":"d5f8e344-3c7a-491f-8f67-5e6901c4dc6b","positiveProbability":1.0,"conclusionId":"e61a5a5b-2587-48ee-af32-49331f659810","lastEdited":1522923311633,"isActive":true,"obligatory":false},{"statement":{"statementId":"37","description":"Sua pele coça?","descriptionShort":"Coceira na pele","images":["https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=f39068f9-d8a6-4d07-842f-2e1216550c77&d=1563813028540&b&l=1920"],"mediaFileList":[{"mediaURL":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=f39068f9-d8a6-4d07-842f-2e1216550c77&d=1563813028540&b&l=1920","copyright":"© Copyright TeckelMedical","description":"Comichão na pele","type":1}],"questionType":1,"descriptionLarge":"<p>Você sente formigamento e/ou coceira em todo o corpo ou em parte dele, e tem vontade de coçar para aliviar a sensação.</p>","descriptionExtended":"<p>Você sente formigamento e/ou coceira em todo o corpo ou em parte dele, e tem vontade de coçar para aliviar a sensação.</p>","hasDescriptionExtended":true,"categoryIdList":[],"propertyValueList":[{"propertyId":"9732a98d-86c1-4df9-9522-bc479417e25d","name":"CID10 +Genéricos","value":"L29.8"},{"propertyId":"ea24aba3-468d-42ba-8cf1-c95d1322aee6","name":"CID9 + Genérico","value":"698.8"},{"propertyId":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9","name":"CID9 revisado","value":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9:reviewed"},{"propertyId":"85c59095-eefe-469e-a6c4-faa7bf67d6a1","name":"CID10 revisado","value":"85c59095-eefe-469e-a6c4-faa7bf67d6a1:reviewed"},{"propertyId":"b4884c54-c88f-42f8-bf3c-adaa2e52f481","name":"CID9 + Específico","value":"698.0"},{"propertyId":"4a637756-3fd4-419b-9c84-31075135d8a3","name":"ICD11","value":"ME65.1"},{"propertyId":"1ccc2416-38f7-484c-967a-78dcf1f9bd12","name":"CID10 +Específicos","value":"L29.0"},{"propertyId":"f29c2d86-81fb-4ece-8375-bc1d89545af6","name":"CID11 revisado","value":"f29c2d86-81fb-4ece-8375-bc1d89545af6:reviewed"},{"propertyId":"cb6e1fc1-a673-4eab-8dec-4a483a473818","name":"SNOMED","value":"418363000"},{"propertyId":"b811b9b7-2aba-422b-9794-ae4633c837d9","name":"SNOMED revisado","value":"b811b9b7-2aba-422b-9794-ae4633c837d9:reviewed"}]},"statementId":"37","positiveProbability":0.45,"conclusionId":"e61a5a5b-2587-48ee-af32-49331f659810","lastEdited":1500999357637,"isActive":true,"obligatory":false},{"statement":{"statementId":"91","description":"Você teve febre ou se sentiu febril?","descriptionShort":"Febre / Sensação de febre","images":["https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=5f620ae9-80e5-4a46-bb29-189aa45b029d&d=1604063802270&b&l=1920"],"mediaFileList":[{"mediaURL":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=5f620ae9-80e5-4a46-bb29-189aa45b029d&d=1604063802270&b&l=1920","copyright":"© Copyright TeckelMedical","type":1}],"questionType":0,"descriptionLarge":"<p>Aumento da temperatura corporal. Quando aumenta alguns décimos acima de 37ºC é chamada de febrícula e quando ultrapassa 38ºC já é considerada febre. A pele geralmente está quente ao toque e pode ser acompanhada de outros sintomas como fraqueza, dores musculares, dores nas articulações, etc.</p>","descriptionExtended":"<p>Aumento da temperatura corporal. Quando aumenta alguns décimos acima de 37ºC é chamada de febrícula e quando ultrapassa 38ºC já é considerada febre. A pele geralmente está quente ao toque e pode ser acompanhada de outros sintomas como fraqueza, dores musculares, dores nas articulações, etc.</p>","hasDescriptionExtended":true,"categoryIdList":[],"propertyValueList":[{"propertyId":"dd165ff4-e848-4b3e-b7bb-cec77117b8a1","name":"CID9","value":"780.6"},{"propertyId":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9","name":"CID9 revisado","value":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9:reviewed"},{"propertyId":"85c59095-eefe-469e-a6c4-faa7bf67d6a1","name":"CID10 revisado","value":"85c59095-eefe-469e-a6c4-faa7bf67d6a1:reviewed"},{"propertyId":"4a637756-3fd4-419b-9c84-31075135d8a3","name":"ICD11","value":"MG26"},{"propertyId":"05c21681-3ff1-4c8c-bb0a-beba62984b6d","name":"CID10","value":"R50.9"},{"propertyId":"f29c2d86-81fb-4ece-8375-bc1d89545af6","name":"CID11 revisado","value":"f29c2d86-81fb-4ece-8375-bc1d89545af6:reviewed"},{"propertyId":"cb6e1fc1-a673-4eab-8dec-4a483a473818","name":"SNOMED","value":"386661006"},{"propertyId":"b811b9b7-2aba-422b-9794-ae4633c837d9","name":"SNOMED revisado","value":"b811b9b7-2aba-422b-9794-ae4633c837d9:reviewed"}]},"statementId":"91","positiveProbability":0.4,"conclusionId":"e61a5a5b-2587-48ee-af32-49331f659810","lastEdited":1570016497485,"isActive":true,"obligatory":false},{"statement":{"statementId":"p10092a","description":"Você tem irritação/infamação da faringe?","descriptionShort":"Irritação/Inflamação na faringe","images":["https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=9026d2c1-fb12-4bb3-bd30-d6c7dcdd482a&d=1605264518227&b&l=1920","https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=8b5a7c25-acbd-45d3-a417-cffcdb8476dc&d=1477779428028&b&l=1920"],"mediaFileList":[{"mediaURL":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=9026d2c1-fb12-4bb3-bd30-d6c7dcdd482a&d=1605264518227&b&l=1920","copyright":"© Copyright TeckelMedical","type":1},{"mediaURL":"https://api.mediktor.com/backoffice/downloads/File.Download?userId=04c35e41-6a8b-4541-44a3-cc20230ebdff&type=media&id=8b5a7c25-acbd-45d3-a417-cffcdb8476dc&d=1477779428028&b&l=1920","copyright":"© Copyright TeckelMedical","type":1}],"questionType":0,"descriptionLarge":"Por exemplo, como quando você está resfriado e tem dor de garganta e dificuldade para engolir.","descriptionExtended":"Por exemplo, como quando você está resfriado e tem dor de garganta e dificuldade para engolir.","hasDescriptionExtended":true,"categoryIdList":[],"propertyValueList":[{"propertyId":"dd165ff4-e848-4b3e-b7bb-cec77117b8a1","name":"CID9","value":"462"},{"propertyId":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9","name":"CID9 revisado","value":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9:reviewed"},{"propertyId":"85c59095-eefe-469e-a6c4-faa7bf67d6a1","name":"CID10 revisado","value":"85c59095-eefe-469e-a6c4-faa7bf67d6a1:reviewed"},{"propertyId":"4a637756-3fd4-419b-9c84-31075135d8a3","name":"ICD11","value":"CA02.Z"},{"propertyId":"05c21681-3ff1-4c8c-bb0a-beba62984b6d","name":"CID10","value":"J02.9"},{"propertyId":"f29c2d86-81fb-4ece-8375-bc1d89545af6","name":"CID11 revisado","value":"f29c2d86-81fb-4ece-8375-bc1d89545af6:reviewed"},{"propertyId":"cb6e1fc1-a673-4eab-8dec-4a483a473818","name":"SNOMED","value":"405737000"},{"propertyId":"b811b9b7-2aba-422b-9794-ae4633c837d9","name":"SNOMED revisado","value":"b811b9b7-2aba-422b-9794-ae4633c837d9:reviewed"}]},"statementId":"p10092a","positiveProbability":0.35,"conclusionId":"e61a5a5b-2587-48ee-af32-49331f659810","lastEdited":1559730569538,"isActive":true,"obligatory":false}],"triggeringFactors":[{"statement":{"statementId":"p2031","description":"Você acabou de se recuperar de uma infecção viral?","descriptionShort":"Infecção viral recente","images":[],"questionType":0,"descriptionLarge":"Infecção recente causada por um vírus.","descriptionExtended":"Infecção recente causada por um vírus.","hasDescriptionExtended":true,"categoryIdList":[],"propertyValueList":[{"propertyId":"dd165ff4-e848-4b3e-b7bb-cec77117b8a1","name":"CID9","value":"790.8"},{"propertyId":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9","name":"CID9 revisado","value":"b0c0d503-cc2a-4416-a53c-e10f465d4bf9:reviewed"},{"propertyId":"85c59095-eefe-469e-a6c4-faa7bf67d6a1","name":"CID10 revisado","value":"85c59095-eefe-469e-a6c4-faa7bf67d6a1:reviewed"},{"propertyId":"4a637756-3fd4-419b-9c84-31075135d8a3","name":"ICD11","value":"1D9Z"},{"propertyId":"05c21681-3ff1-4c8c-bb0a-beba62984b6d","name":"CID10","value":"B34.9"},{"propertyId":"f29c2d86-81fb-4ece-8375-bc1d89545af6","name":"CID11 revisado","value":"f29c2d86-81fb-4ece-8375-bc1d89545af6:reviewed"},{"propertyId":"cb6e1fc1-a673-4eab-8dec-4a483a473818","name":"SNOMED","value":"34014006"},{"propertyId":"b811b9b7-2aba-422b-9794-ae4633c837d9","name":"SNOMED revisado","value":"b811b9b7-2aba-422b-9794-ae4633c837d9:reviewed"}]},"statementId":"p2031","positiveProbability":0.7,"conclusionId":"e61a5a5b-2587-48ee-af32-49331f659810","lastEdited":1497437641406,"isActive":true,"obligatory":false}],"level":0,"urgency":5,"urgencyEnum":0,"service":6,"common":false}}
I'm working with Portuguese Language. The characters are looking weird. How can I fix this?
The code:
import feedparser
import random
# Vou definir os feeds
feeds_conf = [{"feedurl": "http://pplware.sapo.pt/feed/", "linktoourpage": "http://linktopage.com/gggg/"},
{"feedurl": "http://pplware.sapo.pt/feed/", "linktoourpage": "http://linktopage.com/zzzz/"}]
# Vou escolher um feed ao acaso
feed_a_enviar = random.choice(feeds_conf)
d = feedparser.parse(feed_a_enviar["feedurl"])
i = range(10)
updates = []
for i in range(10):
updates.append([{"url": feed_a_enviar["linktoourpage"], "msg": d.entries[i].summary + ", "}])
print updates
The output:
[[{'url': 'http://linktopage.com/zzzz/', 'msg': u'\u2026depois de instalar o sistema operativo? Apesar de ainda n\xe3o ser a vers\xe3o final (segundo o calend\xe1rio, est\xe1 hoje dispon\xedvel a vers\xe3o Beta), o Ubuntu 11.04 Natty Narwhal tem demonstrado ser um sistema operativo r\xe1pido, seguro e est\xe1vel segundo os testes que j\xe1 efectuamos. Com a adop\xe7\xe3o da interface Unity, parece-nos que o sistema \xe9 [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/ubuntu_natty_thumb.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'A Google anunciou hoje que passou a permitir aos utilizadores partilharem recomenda\xe7\xf5es com os outros utilizadores nos resultados de pesquisa do Google. O objectivo \xe9 disponibilizar a cada utilizador os resultados mais relevantes, o mais r\xe1pido poss\xedvel mas, \xe0 semelhan\xe7a das palavras nas p\xe1ginas de Internet, a relev\xe2ncia assenta tamb\xe9m nas rela\xe7\xf5es. Recentemente, a Google [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/mais_1_2.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'O Mac OS X tem uma particularidade que me agrada bastante: mostra ser um sistema operativo simples e at\xe9 despido de fun\xe7\xf5es, mas na verdade tem ferramentas que permitem nalguns cliques chegar a tudo o que precisamos. Um dos exemplos claros \xe9 o Automator. Seja l\xe1 o que for que pretende fazer neste sistema operativo, [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/images2011/imagem_desktoday01_small.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Este artigo foi escrito pelo leitor Diogo Oliveira para o Pplware A barra de ferramentas do Windows Media Player n\xe3o \xe9 nada mais nada menos do que aquele mini-player que ficava alojado na barra de tarefas e que permite o controlo das m\xfasicas em reprodu\xe7\xe3o. Este mini-player estava presente na vers\xe3o 11, mas foi removido [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/wmp_12_1.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Nesta semana cinematogr\xe1fica, o destaque vai para a estreia de “Sucker Punch \u2013 Mundo Surreal”, uma fantasia \xe9pica de ac\xe7\xe3o que nos apresenta a imagina\xe7\xe3o f\xe9rtil de uma jovem, cujos sonhos s\xe3o a \xfanica sa\xedda para sua dif\xedcil realidade num hosp\xedcio. Destaque ainda para a estreia do thriller de terror “Perigo \xe0 Espreita”, com Jeffrey [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/images2011/cinema117/imagem_cinema117_01.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Por Carlos Rodrigues e Jos\xe9 Afonso para o PPLWARE O Processing \xe9 uma linguagem baseada em Java que existe desde 2001 e \xe9 bastante utilizada por artistas gr\xe1ficos. Inicialmente utilizada para auxiliar no ensino do b\xe1sico da programa\xe7\xe3o, rapidamente cresceu, suportando diversas plataformas (Windows, Mac Os X, Linux) e permitindo desenvolver aplica\xe7\xf5es de forma muito [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/mobile_00_thumb.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Por SamC para o PPLWARE.COM As tags (ou metadados) contribu\xedram para que a experi\xeancia de utiliza\xe7\xe3o aumentasse bastante para quem utilizava formatos de m\xfasica digital como o MP3. Quando apareceram os primeiros leitores de MP3 recordo que era fant\xe1stico mostrar a algu\xe9m que no ecr\xe3 conseguia visualizar algumas informa\xe7\xf5es relativas \xe0 m\xfasica a ser reproduzida [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/images2011/imagem_mptagthat01_small.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'A menos de um m\xeas da disponibiliza\xe7\xe3o da vers\xe3o final do Ubuntu 11.04 Natty Narwhal (28 de Abril de 2011), s\xe3o muitas as novidades j\xe1 conhecidas. Ontem, no seguimento de um artigo que li sobre a possibilidade de testar aplica\xe7\xf5es para Android sem as instalar, decidi investigar se havia o mesmo \u201csistema\u201d para o Ubuntu. [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/usc_000_thumb.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Conhecer o nosso PC e o que por l\xe1 temos instalado \xe9 uma necessidade constante. Ao termos esta informa\xe7\xe3o conseguimos estar mais atentos a poss\xedveis problemas e nessas situa\xe7\xf5es conseguimos reagir de forma mais r\xe1pida e precisa. N\xe3o \xe9 no entanto simples ter acesso a toda a informa\xe7\xe3o de forma r\xe1pida e mesmo esta est\xe1 [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2011/03/SYS-Informer_1_small.jpg" /></div>, '}], [{'url': 'http://linktopage.com/zzzz/', 'msg': u'Num passado recente o Pplware lan\xe7ou aqui um artigo sobre as Drives SSDNow V100 da Kingston. Agora, a Kingston revela que foi descoberta uma poss\xedvel falha t\xe9cnica com as essas mesmas drives SSDNow V100. Uma pequena percentagem destas drives tem dado origem a um erro no arranque da BIOS n\xe3o permitindo que o computador inicie. [...]<div style="text-align: center;"><img alt="" src="http://pplware.sapo.pt/wp-content/uploads/2010/11/Kingston-SSDNow-V+100-e1288714523877.jpg" /></div>, '}]]
For example, this:
"vers\xe3o"
should be
"versão"
How can I get the output in the correct encoding?
The answer is "it depends on where your output is going to":
feedparser is very smart. It already decodes the input and returns decoded unicode objects to you.
So you don't have to do anything. u"vers\xe3o" is already the decoded unicode object.
Your issue is that, when you print the entire list, you get the representation of the list contents. It's a way for python to show you what's in the string. u'\xe3' is a representation of the correct ã unicode character - That's just the python way of showing it to you, the programmer; The correct character is stored in the unicode object. Think of "printing representations" as debugging information;
If you want to show the real character, you must encode it to the output media encoding.
Example:
If you're showing that in a webpage, you must encode it to that webpage's encoding. If you're showing that on a terminal screen, you must encode it to that terminal's encoding.
My terminal is configured to use utf-8 as encoding, so if I do:
print u"vers\xe3o".encode('utf-8')
That prints the correct character on my terminal.
Note that you must encode to the destination device encoding. The encoding from the source is already decoded by feedparser.
Brazilian Portuguese Translation
A resposta é: "depende de pra onde a sua saída está indo"
feedparser é muito bom. Ele decodifica a entrada e retorna objetos unicode já decodificados para você.
Portanto você não precisa fazer nada. u"vers\xe3o" já é um objeto unicode decodificado.
O seu problema é que, quando você imprime a lista inteira, você vê a representação do conteúdo da lista. É um jeito do python te mostrar o que está na string. u'\xe3' é uma representação do caracter unicode correto ã - Este é o jeito do python mostrar para você, programador, o conteúdo do objeto unicode. O caracter correto está lá dentro; Sugiro tratar "imprimir representações" como informações de debug;
Se você quer mostrar o verdadeiro caracter, você precisa encodificar o objeto usando o encoding da mídia em que vai mostrar o caracter.
Examplo:
Se estiver mostrando em uma página da web, você precisa encodificar o objeto para o encoding da página; Se você estiver mostrando em uma tela de terminal, você precisa encodificar o objeto para o encoding do seu terminal.
Meu terminal está configurado para usar utf-8 como encoding, então se eu fizer:
print u"vers\xe3o".encode('utf-8')
Isso vai imprimir o caracter correto no meu terminal.
Repare que você precisa encodificar para o encoding de destino. O encoding feito na origem do feed já foi decodificado pelo feedparser.