回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我写了一个代码刮一个房地产网站。这是链接:</p>
<p><a href="https://www.nekretnine.rs/stambeni-objekti/stanovi/lista/po-stranici/10/" rel="nofollow noreferrer">https://www.nekretnine.rs/stambeni-objekti/stanovi/lista/po-stranici/10/</a></p>
<p>从这个页面我只能得到公寓的位置,大小和价格,但是否有可能写一个代码,将进入每一个公寓的页面,并从中刮取值,因为它包含了更多的信息。检查此链接:</p>
<p><a href="https://www.nekretnine.rs/stambeni-objekti/stanovi/arena-bulevar-arsenija-carnojevica-97m-2-lode-energoprojekt/NkvJK0Ou5tV/" rel="nofollow noreferrer">https://www.nekretnine.rs/stambeni-objekti/stanovi/arena-bulevar-arsenija-carnojevica-97m-2-lode-energoprojekt/NkvJK0Ou5tV/</a></p>
<p>我贴了一个密码。我注意到,我的网址变化时,我点击特定的房地产。例如:</p>
<pre><code>arena-bulevar-arsenija-carnojevica-97m-2-lode-energoprojekt/NkvJK0Ou5tV/
</code></pre>
<p>我教过创建for循环,但是没有办法知道它是如何变化的,因为它的末尾有一些id号:</p>
<pre><code>NkvJK0Ou5tV
</code></pre>
<p>这是我的代码:</p>
<pre><code>from bs4 import BeautifulSoup
import requests
website = "https://www.nekretnine.rs/stambeni-objekti/stanovi/lista/po-stranici/10/"
soup = requests.get(website).text
my_html = BeautifulSoup(soup, 'lxml')
lokacija = my_html.find_all('p', class_='offer-location text-truncate')
ukupna_kvadratura = my_html.find_all('p', class_='offer-price offer-price--invert')
ukupna_cena = my_html.find_all('div', class_='d-flex justify-content-between w-100')
ukupni_opis = my_html.find_all('div', class_='mt-1 mb-1 mt-lg-0 mb-lg-0 d-md-block offer-meta-info offer-adress')
for lok, kvadratura, cena_stana, sumarno in zip(lokacija, ukupna_kvadratura, ukupna_cena, ukupni_opis):
lok = lok.text.split(',')[0] #lokacija
kv = kvadratura.span.text.split(' ')[0] #kvadratura
jed = kvadratura.span.text.split(' ')[1] #jedinica mere
cena = cena_stana.span.text #cena
sumarno = sumarno.text
datum = sumarno.split('|')[0].strip()
status = sumarno.split('|')[1].strip()
opis = sumarno.split('|')[2].strip()
print(lok, kv, jed, cena, datum, status, opis)
</code></pre>