首页 > 解决方案 > Python3 beautifulsoup4 和 selenium

问题描述

我编写了这段代码,用于从 livecore.com 抓取分数详细信息。但我有一些问题。也许我写了不正确的代码。请帮我。

代码运行输出:

Traceback (most recent call last):
  File "web.py", line 15, in <module>
    box2 = box.find_all('a',{'class' : 'match-row scorelink'})
AttributeError: 'NoneType' object has no attribute 'find_all'


from bs4 import BeautifulSoup
import requests
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://livescore.com')
res = driver.execute_script("return document.documentElement.outerHTML")
driver.quit()
#page = requests.get('https://livescore.com')
soup = BeautifulSoup(res, 'lxml')


box = soup.find('div',{'class':'container'})

box2 = box.find_all('a',{'class' : 'match-row scorelink'})

for data in box2:
    test = data.find('div',{'class': 'sco'}).text.replace('\n', '')
print (test)



标签: python-3.xseleniumweb-scrapingbeautifulsoup

解决方案


感谢您的回答。解决的问题


from bs4 import BeautifulSoup
import requests
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://livescore.com')
res = driver.execute_script("return document.documentElement.outerHTML")
driver.quit()
#page = requests.get('https://livescore.com')
soup = BeautifulSoup(res, 'lxml')


box = soup.find('div',{'data-type':'container'})

box2 = box.find_all('a',{'class' : 'match-row'})

for data in box2:
    test1 = data.find('div',{'class': 'sco'}).text.replace('\n', '')
    test2 = data.find('div',{'class': 'ply tright name'}).text.replace('\n', '')
    test3 = data.find('div',{'class': 'ply name'}).text.replace('\n', '')
    print(test2,test1,test3)




推荐阅读