Mam taki wycięty kawałek strony, który jest powielanym elementem w całej liście:
<div class="mpof_ki mqen_m6 mp7g_oh mh36_0 mvrt_0 mg9e_8 mj7a_8 m7er_k4 _1y62o _9c44d_1I1gg">
<div>
<div class="mpof_ki myre_zn m389_6m m09p_k4 mse2_56 _9c44d_2Tos9">
<a class="msts_9u mg9e_0 mvrt_0 mj7a_0 mh36_0 mpof_ki m389_6m mx4z_6m m7f5_6m mse2_k4 m7er_k4 _9c44d_1ILhl" href="https://allegro.pl/oferta/plyta-gumowa-wykladzina-mata-3-mm-metro-guma-9549970450" rel="nofollow">
<img alt="" data-mark="vc" src="https://a.allegroimg.com/s180/11b23e/11f760af491aacbfd46234209cc9/PLYTA-GUMOWA-WYKLADZINA-MATA-3-mm-METRO-GUMA"/>
</a>
</div>
</div>
<div class="mpof_ki myre_zn _9c44d_1Hxbq">
<div class="m7er_k4 _9c44d_3TzmE">
<h2 class="mgn2_14 m9qz_yp mqu1_16 mp4t_0 m3h2_0 mryx_0 munh_0">
<a class="_w7z6o _uj8z7 meqh_en mpof_z0 mqu1_16 _9c44d_2vTdY" href="https://allegro.pl/oferta/plyta-gumowa-wykladzina-mata-3-mm-metro-guma-9549970450" title="">PŁYTA GUMOWA WYKŁADZINA MATA 3 mm, METRO GUMA</a>
</h2>
<div class="mpof_ki m389_6m msa3_z4 mgn2_13">
od
<!-- -->
<div class="mpof_ki mp7g_oh _9c44d_tND42">
<div class="mp7g_oh mse2_k4 m7er_k4 _9c44d_2bELB">
<i class="m7er_k4 mse2_k4 _9c44d_2oIOS _9c44d_3rJUT" role="img"></i>
<div class="mp7g_f6 _9c44d_1_X0Q mpof_5r"></div>
</div>
</div>
<!-- -->
Super Sprzedawcy
</div>
<div class="mpof_z0 m7er_k4">
<div class="mgn2_13 mpof_5r mpof_z0_s ">
<dl class="mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 meqh_en msa3_z4 _1vx3o">
<dt class="mpof_uk mgmw_ag mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_3hPFO">Stan</dt>
<dd class="mpof_uk mp4t_0 m3h2_0 mryx_0 munh_0 mgmw_ia mg9e_0 mj7a_0 mh36_0 _9c44d_3n9Wf">Nowy</dd>
</dl>
</div>
</div>
</div>
<div class="_9c44d_3AMmE"><div class="mpof_92 myre_zn">
<div class="msa3_z4 _9c44d_2K6FN">
<span class="_1svub _lf05o">
27
<!-- -->
,
<span class="_qnmdr">
99
<!-- -->
<!-- -->
zł
</span>
</span>
</div>
</div>
<span class="mpof_92 mgn2_13 _9c44d_3JyvE">
<div class="mp7g_oh mse2_k4 m7er_k4 _9c44d_2bELB">
<span class="mpof_92 mp7g_oh m389_0a _9c44d_1BTID">
<i class="_9c44d_2UYuR _9c44d_1DKTg"></i>
z kurierem
</span>
<div class="mp7g_f6 _9c44d_1_X0Q mpof_5r"></div>
</div>
</span>
</div>
<div class="_9c44d_1xKGX">
<div class="mqu1_g3">40,98 zł z dostawą</div>
</div>
<div class="_9c44d_3K52C">
<div class="mp0t_ji mpof_vs _9c44d_1VS-Y _9c44d_3_DDQ">
<span class="mpof_uk mqu1_ae _9c44d_18kEF _9c44d_3gH36 m9qz_yq">dostawa we wtorek</span>
</div>
<div class="mpof_ki m389_6m munh_56_l">
<span class="msa3_z4">65 osób kupiło</span>
</div>
</div>
<div class="m7er_k4 _9c44d_w7AeH">
<button class="_13q9y _8hkto mh36_0 mpof_5r_x _9c44d_IH7T_">
<span class="mpof_z0 _9c44d_38gyz">do koszyka</span>
<span class="mpof_5r _9c44d_1CbiU">dodaj do koszyka</span>
</button>
</div>
</div>
</div>
Zanim zacznę wyciągać dane ze wszystkich elementów listy przedmiotów, testuję wyciąganie potrzebnych informacji na jednym wpisie. Nie wiem czy poprawnie, ale działa:
from bs4 import BeautifulSoup
soup = BeautifulSoup(pobrana_strona,'html.parser', multi_valued_attributes=None)
soup . encode ( "utf8" )
aukcja_Nazwa = soup.find(attrs={'class':'_w7z6o _uj8z7 meqh_en mpof_z0 mqu1_16 _9c44d_2vTdY'})
print(' Url:', aukcja_Nazwa.get('href'))
print('split Nr:', aukcja_Nazwa.get('href').split('-')[-1])
print(' Nazwa:', aukcja_Nazwa.string)
aukcja_Img = soup.find(attrs={'class':'msts_9u mg9e_0 mvrt_0 mj7a_0 mh36_0 mpof_ki m389_6m mx4z_6m m7f5_6m mse2_k4 m7er_k4 _9c44d_1ILhl'})
print(' ImgUrl:', aukcja_Img.next_element.get('src'))
aukcja_Cena = soup.find(attrs={'class':'_1svub _lf05o'})
print('text Cena:', aukcja_Cena.text)
aukcja_CenaDostawa = soup.find(attrs={'class':'mqu1_g3'})
print('Cena z dostawą:', aukcja_CenaDostawa.text)
aukcja_Kupujących = soup.find(attrs={'class':'msa3_z4'})
print('Cena z dostawą:', aukcja_Kupujących.text)
Czy jest możliwe dokonać tego jednym wyszukaniem? Jak to powinno się robić?