使用Requests和BeautifulSoup-Python返回不带文本的标记

使用Requests和BeautifulSoup-Python返回不带文本的标记,python,web-scraping,beautifulsoup,python-requests,Python,Web Scraping,Beautifulsoup,Python Requests,我试图捕获此页面上的访问次数,但python返回的标记没有文本 这就是我所做的 import requests from bs4 import BeautifulSoup r = requests.get("http://www.kijiji.ca/v-2-bedroom-apartments-condos/city-of-halifax/clayton-park-west-condo-style-luxury-2-bed-den/1016364514") soup = BeautifulSo

我试图捕获此页面上的访问次数,但python返回的标记没有文本

这就是我所做的

import requests
from bs4 import BeautifulSoup

r = requests.get("http://www.kijiji.ca/v-2-bedroom-apartments-condos/city-of-halifax/clayton-park-west-condo-style-luxury-2-bed-den/1016364514")
soup = BeautifulSoup(r.content)
print soup.find_all("span",{"class":"ad-visits"})

您试图获取的值由javascript填充,因此在这种情况下,
beautfulsoup
请求
不起作用

您需要使用类似于
selenium
的东西来获得输出

from bs4 import BeautifulSoup
from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://www.kijiji.ca/v-2-bedroom-apartments-condos/city-of-halifax/clayton-park-west-condo-style-luxury-2-bed-den/1016364514")
soup = BeautifulSoup(driver.page_source , 'html.parser')
print soup.find_all("span",{"class":"ad-visits"})
Selenium
将返回呈现的页面源代码,然后您可以使用
beautifulsoup
获取值

[<span class="ad-visits">385</span>]
[385]

Python是否必须打开Firefox才能检索信息?您可以使用Firefox“headless”,也可以使用另一个带有selenium的webdriver,但您需要一个能够呈现javascript的环境。什么是headless?您的代码如何更改代码保持不变,下面是一篇关于在Ubuntu上使用selenium运行Firefox headless的帖子