使用BeautifulSoup从网页刮取数据返回None

时间:2016-11-27 16:03:20

标签: python beautifulsoup

我是新来的.. 例如,我试图刮掉这样的东西(24号)

<td class="score part"> <span class="p1_home>24</span></td>

What to scrape?

但是我的代码:

from bs4 import BeautifulSoup
import requests

html = requests.get("http://www.rezultati.com/utakmica/jLRSI3m9/#detalji")

soup = BeautifulSoup(html.text,'html.parser')

data2 = soup.find('td',{'class':'score part'})

print(data2)

Output

没有给我

我哪里错了?

3 个答案:

答案 0 :(得分:1)

我解决了这个问题,谢谢你的帮助

from selenium import webdriver
driver = webdriver.Chrome()

driver.get("http://www.rezultati.com/utakmica/jLRSI3m9/#detalji")

posts = driver.find_elements_by_class_name("p1_home")
for post in posts:
    print(post.text)

答案 1 :(得分:0)

你有这个想法是正确的,但我认为,这个网站实施了某种javascript来隐藏价值观,以阻止像你这样的人刮他们的网站。尝试使用硒,因为它可以抓住一个人会看到它的网站。如果您需要更多信息,请告诉我。

答案 2 :(得分:0)

正如摇摆器已经提到的,该表是通过ajax调用加载的。 使用http库(requests,urllib,pycurl,...)可能非常困难或无法用于抓取此站点。 您需要能够保持javascript运行,selenium的替代方案可能是spynner