python requests.get()似乎无法正常工作

3z6pesqy  于 2023-04-10  发布在  Python
关注(0)|答案(1)|浏览(234)

我试图抓取一个网站,在下面的代码。soup。find没有找到任何东西,即使类存在于URL中。
如果你执行print(data)并查找类df-card__title,它不存在,而且数据的内容看起来很奇怪,好像它被截断了...
有人能帮我吗

import requests
from bs4 import BeautifulSoup

data = requests.get("https://farmacievigorito.it/#/dfclassic/query=cerotti&query_name=match_and").text
soup = BeautifulSoup(data, "html.parser")
soup_first = soup.find(name="div", class_="df-card__title")

print(data)

我期望在执行soup.find时,它将返回产品的名称

wpx232ag

wpx232ag1#

您看到的数据是从外部URL加载的,因此beautifulsoup看不到它。您可以使用requests模拟此 AJAX 调用:

import requests
import pandas as pd

url = "https://eu1-search.doofinder.com/5/search"

params = {
    "hashid": "075b07eb02972f499b1596ab00ae0851",
    "query_counter": "1",
    "page": "1",
    "rpp": "30",
    "transformer": "",
    "query_name": "match_and",
    "query": "cerotti",
}

headers = {'Origin' : 'https://farmacievigorito.it'}

data = requests.get(url, params=params, headers=headers).json()
df = pd.DataFrame(data['results'])
print(df.head(3))

图纸:

availability  best_price                  brand                                                                                categories condition                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               description df_grouping_id                                                                       dfid    dfscore g:quantity g:upc g:weight           gtin                                                                                                                                                                                                                                                                                                                                                                               highlight      id                                                                                                   image_link                                                                           link        mpn  price  sale_price    source                                                title     type
0     in stock        4.99  HRA PHARMA ITALIA SRL  [Salute e Cura della Persona, Salute e Cura della Persona > Medicazioni e Disinfettanti]       new  COMPEED CEROTTI PER VESCICHE MISTO Descrizione Sollievo immediato dal dolore, guarisce velocemente. La tecnologia dell'Idrocolloide Compeed è costituita da microparticelle in grado di assorbire l'umidità dalla vescica. Compeed agisce come una seconda pelle e aiuta e riequilibrare il naturale livello di umidità per donare sollievo immediato dal dolore, proteggere contro lo sfregamento e accelerare la guarigione. Resta applicato sulla pelle per diversi giorni. La durata può variare da soggetto a soggetto. Modalità d'uso Prima dell'uso assicurarsi che la zona intorno alla vescica sia pulita ed asciutta, senza residui di creme e/o oli. Rimuovere le due linguette di carta che proteggono Compeed avendo cura di non toccare la parte adesiva. Applicare Compeed direttamente sulla vescica, assicurandosi che i bordi aderiscano bene alla pelle. Lasciare Compeed applicato fin quando non si stacca da solo. Potrebbe rimanere applicato per diversi giorni. Per una più facile rimozione non tirare Compeed verso l'alto ma allungare delicatamente il bordo parallelamente alla pelle. Avvertenze Per i diabetici consultare il proprio medico prima dell'utilizzo. Non applicare sulle ferite infette. Non riutilizzare perché può causare infezioni. Non tagliare mai il cerotto Compeed. Eventuali residui di adesivo su calze o scarpe possono essere rimossi con alcool, tenendo conto delle specifiche istruzioni del tessuto. Se la vescica peggiora e non guarisce, interrompere l'applicazione e consultare il medico. Conservazione Validità a confezionamento integro: 36 mesi. Formato Confezione da 5 cerotti. Cod. COBXZ300A         132755  075b07eb02972f499b1596ab00ae0851@product@ebe2d3754d6f3bd514bf78afb6983ac8  941.13306         30  None   0.00kg  3663555002744                                 {'description': ['COMPEED <em>CEROTTI</em> PER VESCICHE MISTO Descrizione Sollievo immediato dal dolore, guarisce velocemente. La', 'perché può causare infezioni. Non tagliare mai il <em>cerotto</em> Compeed. Eventuali residui di adesivo su calze', 'confezionamento integro: 36 mesi. Formato Confezione da 5 <em>cerotti</em>. Cod. COBXZ300A']}  132755                                                https://farmacievigorito.it/image/data/pharmadb/979605401.jpg                     https://farmacievigorito.it/compeed-cerotti-vesciche-misto  979605401  10.19        4.99  infofarm             Compeed Vesciche Cerotti Misto 5 Cerotti  product
1     in stock        5.25  HRA PHARMA ITALIA SRL  [Salute e Cura della Persona, Salute e Cura della Persona > Medicazioni e Disinfettanti]       new                                                                                                                                                                                                                                                                                                                                                                                                               COMPEED CEROTTI PER CALLI INTERNO DITA Descrizione Protezione da pressione e sfregamento. La tecnologia dell'idrocolloide Compeed è costituita da microparticelle che migliorano l'idratazione ed ammorbidiscono il callo. Compeed agisce come una seconda pelle e aiuta e riequilibrare il naturale livello di umidità per proteggere contro lo sfregamento e la pressione, donare sollievo immediato dal dolore dei calli e idratare ed ammorbidire il callo per favorirne la rimozione. Resta applicato per più di 24 ore. La durata può variare da soggetto a soggetto. Modalità d'uso Prima dell'uso pulire e asciugare l'area del callo. Non toccare la parte adesiva del cerotto. Lasciare Compeed applicato fin quando non si stacca da solo. Potrebbe rimanere applicato diversi giorni. Avvertenze Per i diabetici consultare il proprio medico prima dell'utilizzo. Non applicare sulle ferite infette. Non riutilizzare perché può causare infezioni. Non tagliare mai il cerotto Compeed. Eventuali residui di adesivo su calze o scarpe possono essere rimossi con alcool, tenendo conto delle specifiche istruzioni del tessuto. Conservazione Validità a confezionamento integro: 36 mesi. Formato Confezione da 10 cerotti. Cod. COCBZ300A         202668  075b07eb02972f499b1596ab00ae0851@product@097ea16f59e3a211aee9eb436190264e  814.22516         12  None   0.00kg  3663555001952  {'description': ['COMPEED <em>CEROTTI</em> PER CALLI INTERNO DITA Descrizione Protezione da pressione e sfregamento. La tecnologia', 'l'area del callo. Non toccare la parte adesiva del <em>cerotto</em>. Lasciare Compeed applicato fin quando non si stacca', 'perché può causare infezioni. Non tagliare mai il <em>cerotto</em> Compeed. Eventuali residui di adesivo su calze']}  202668                                                https://farmacievigorito.it/image/data/pharmadb/979605425.jpg  https://farmacievigorito.it/compeed-cerotti-per-calli-interno-dita-10-cerotti  979605425   9.59        5.25  infofarm    Compeed Cerotti Per Calli Interno Dita 10 Cerotti  product
2     in stock        5.99                L10 Srl  [Salute e Cura della Persona, Salute e Cura della Persona > Medicazioni e Disinfettanti]       new                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               POPme Cerotti Descrizione Dispositivo medico. Formato 48 pezzi. Cod. PM015K         235768  075b07eb02972f499b1596ab00ae0851@product@99941a0f4786e42ed8113a6b9398081e  814.22516          7  None  50.00kg  8052536951860                                                                                                                                                                                                                                                                               {'description': ['POPme <em>Cerotti</em> Descrizione Dispositivo medico. Formato 48 pezzi. Cod. PM015K']}  235768  https://farmacievigorito.it/image/catalog/A.arino/Opi/popme-cerotti-in-tessuto-bandage-it-s-ok-48-pezzi.jpg  https://farmacievigorito.it/popme-cerotti-in-tessuto-bandage-it-s-ok-48-pezzi  984152381   5.99         NaN  infofarm  POPme Bandage Cerotti In Tessuto IT'S OK 48 Cerotti  product

相关问题