<p>实现目标有多种选择,最佳选择取决于您在后续过程中对这些信息的期望和想要做什么</p>
<h3>第一个选项</h3>
<p>如果您只是在查找第一个位置的信息,您可以执行以下操作:</p>
<pre><code>lugar = soup.select_one('div.items-container a')
b = [lugar.text, f'{i}{lugar["href"]}']
</code></pre>
<p>或</p>
<pre><code>lugar = soup.select('div.items-container a')[0]
b = [lugar.text, f'{i}{lugar["href"]}']
</code></pre>
<p>两者都选择类为<code>items-container</code>的<code><div></code>中的第一个<code><a></code></p>
<h3>输出</h3>
<pre><code>['Huixquilucan','https://www.vivanuncios.com.mx/s-renta-inmuebles/huixquilucan/v1c1098l10689p1']
</code></pre>
<h3>备选方案</h3>
<p>如果您有兴趣一次获取所有信息,那么应该使用<code>dicts</code>列表,因此稍后您只需迭代它,并将所有信息准备就绪:</p>
<pre><code>[{'name':x.text, 'link':f'{i}{x["href"]}'} for x in soup.select('div.items-container a')]
</code></pre>
<h3>输出</h3>
<pre><code>[{'name': 'Huixquilucan',
'link': 'https://www.vivanuncios.com.mx/s-renta-inmuebles/huixquilucan/v1c1098l10689p1'},
{'name': 'Naucalpan',
'link': 'https://www.vivanuncios.com.mx/s-renta-inmuebles/naucalpan/v1c1098l10710p1'},
{'name': 'Atizapán',
'link': 'https://www.vivanuncios.com.mx/s-renta-inmuebles/atizapan/v1c1098l10662p1'},
{'name': 'Metepec',
'link': 'https://www.vivanuncios.com.mx/s-renta-inmuebles/metepec-edomex/v1c1098l10707p1'},...]
</code></pre>
<h3>示例(显示两者的结果)</h3>
<pre><code>from bs4 import BeautifulSoup
import requests
i="https://www.vivanuncios.com.mx"
url = "https://www.vivanuncios.com.mx/s-renta-inmuebles/estado-de-mexico/v1c1098l1014p1"
encabezado = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36",'Accept-Language': 'en-US, en;q=0.5'}
page =requests.get(url,headers=encabezado)
soup = BeautifulSoup(page.content,"html.parser")
lugar = soup.select_one('div.items-container a')
b = [lugar.text, f'{i}{lugar["href"]}']
print(f'First lugar:\n {b} \n')
## or alternative option
allLugaros = [{'name':x.text, 'link':f'{i}{x["href"]}'} for x in soup.select('div.items-container a')]
print(f'First lugar from lugaros (list of dict):\n {allLugaros[0]} \n')
print(f'All lugaros as list of dict:\n {allLugaros} \n')
</code></pre>