Не удается найти определенные теги <div>с помощью селекторов CSS - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь собрать информацию с веб-сайта с помощью CSS-селектора, чтобы получить определенный текстовый элемент, но столкнулся с проблемой.Я пытаюсь найти нужную мне часть сайта, но моя программа сообщает, что ее не существует.Моя программа возвращает пустой список.

Я использую библиотеки запросов и lxml и использую Селекторы CSS для выполнения мой HTML Scraping.У меня есть Python 3.7.Я пытаюсь найти нужную часть веб-сайта с помощью селектора, но она не отображается.Я также пытался использовать XPath, но это также не удалось.Я попытался использовать следующий селектор:

div#showtimes 

Когда я использую этот селектор, я получаю следующий результат:

[<Element div at 0x3bf6f60>]

Я получаю ожидаемый результат, который является желаемым элементом.Когда я пытаюсь пойти еще дальше и получить доступ к элементу, вложенному в элемент div # showtimes (см. Ниже), я получаю пустой список.

div#showtimes div

Я получаю следующий результат:

[]

Изучив HTML-код веб-сайта, я узнал, что внутри элемента div # showtimes есть вложенный элемент.Эта проблема возникла и на других веб-страницах.Я использую приведенный ниже код.

import requests
from lxml import html
from lxml.cssselect import CSSSelector

# Set URL
url = "http://www.fridleytheatres.com/location/7425/Paramount-7-Theatres- 
Showtimes"

# Get HTML from page
page = requests.get(url)
data = html.fromstring(page.text)

# Set up CSSSelector
sel = CSSSelector('div#showtimes div')
# Apply Selector
results = sel(data)
print(results)

Я ожидаю, что выводом будет список, содержащий элемент, но он возвращает пустой список [].

1 Ответ

0 голосов
/ 23 января 2019

Если я правильно понимаю проблему, вы пытаетесь получить элемент div, который является потомком div#showtimes.Попробуйте использовать div#showtimes > div.

...