<div class="box_content row">
<br/>
<h3 class="nomargin">Historial del aviso</h3>
<br/>
<ul>
<li style="display:inline;margin-right:30px;">
<b>Actualizado:</b> <span>
31 08</span> </li>
<li style="display:inline; margin-right:30px"><b>Visitas:</b> <span id="numAdvertVisits"></span></li>
<li style="display:inline; margin-right:30px"><b>Código Fincaraiz:</b> <span> 2991591</span> </li>
</ul>
<br/>
</div>
由于我的python脚本,我得到了上面的html元素,但它没有显示网页的访问次数。
然而,在检查Inspect元素时,它显示了来自网页的访问次数,如下所示。
<span id="numAdvertVisits">33</span>
使用以下代码获取上述html元素
import requests
from bs4 import BeautifulSoup
page = requests.get('https://www.fincaraiz.com.co/casa-en-venta/cali/ciudad_jardin-det-2991591.aspx')
soup = BeautifulSoup(page.content, 'lxml')
visit = soup.find('div' , 'box_content row')
print (visit)
如何从网页获取访问次数。
答案 0 :(得分:0)
尝试修改此行:
visit = soup.find('span' , 'numAdvertVisits')
答案 1 :(得分:0)
这是因为该元素正在被AJAX调用填充。该请求的AJAX URL是 - https://www.fincaraiz.com.co/WebServices/Statistics.asmx/GetAdvertVisits?idAdvert=2991591&idASource=40&idType=1001
您可以使用Firebug或Chrome开发者工具找到这些网址。
这是您的更新代码:
import requests
from bs4 import BeautifulSoup
page = requests.get('https://www.fincaraiz.com.co/WebServices/Statistics.asmx/GetAdvertVisits?idAdvert=2991591&idASource=40&idType=1001')
soup = BeautifulSoup(page.content, 'lxml')
visit = soup.find('double').get_text()
print (visit)