我正在尝试使用CSS选择器从网站上抓取信息,以获取特定的文本元素,但遇到了问题。我尝试搜索该网站的所需部分,但是我的程序告诉我该网站不存在。我的程序返回一个空列表。

我正在使用请求和lxml库,并正在使用CSS选择器进行HTML抓取。我有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)


我希望输出是一个包含元素的列表,但是它返回一个空列表[]。

最佳答案

如果我正确理解了该问题,则您正在尝试获取div元素,该元素是div#showtimes的子元素。尝试使用div#showtimes > div

10-07 19:14
查看更多