XPath Я пытаюсь получить данные из «Advanced Box Оценка статистики» из следующей веб-странице: http://www.sports-reference.com/cbb/boxscores/2016-11-11-villanova.htmlPython - Невозможно получить данные из веб-страниц таблицы с помощью Beautiful Soup или LXML
Я попытался с помощью BeautifulSoup в очень широкий способ получить все таблицы:
import requests
from bs4 import BeautifulSoup
base_url = "http://www.sports-reference.com/cbb/boxscores/2016-11-11-villanova.html"
r = requests.get(base_url)
soup = BeautifulSoup(r.text, "html.parser")
tables = soup.find_all("table")
for table in tables:
print table.get_text()
При этом, он только извлек «Basic Box Score Статистика» Тем не менее, не извлекать «Advanced Box оценка статистики», как я надеялся
..Далее, я попробовал ge ttt более конкретно, используя путь lxml:
import requests
from lxml import html
page = requests.get('http://www.sports-reference.com/cbb/boxscores/2016-11-11-villanova.html')
tree = html.fromstring(page.content)
boxscore_Advanced = tree.xpath('//*[@id="box-score-advanced-lafayette"]/tbody/tr[1]/td[1]/text()’)
print boxscore_Advanced
При этом он возвращает пустой список.
Я боролся с этим за хорошее количество времени, и попытались решить эту проблему, используя следующие сообщения:
- Why does this xpath fail using lxml in python?
- Python xpath query not returning text value
- lxml xpath unable to display html items
- http://web.stanford.edu/~zlotnick/TextAsData/Web_Scraping_with_Beautiful_Soup.html
- Unable to fetch Table from BeautifulSoup
Заранее благодарю за любую помощь!
вы проверили, что таблица на самом деле в HTML, а не добавляются на страницу с помощью JavaScript позже? – snakecharmerb
Я не верю, что сделал. Как я могу это сделать? (P.S. спасибо за быстрый ответ @snakecharmerb!) – nreit10