【问题标题】:lxml ignore part of HTML taglxml 忽略部分 HTML 标签
【发布时间】:2021-06-23 00:39:35
【问题描述】:

好的,所以我有这样的 HTML 代码:

<span class="lista_td_calendar" rel="1617096300">finished</span>

我想用 lxml 来获取它,虽然这个类有很多跨度,每个都有不同的rel 属性,我写了这样的东西:

from lxml import html
import requests

page = requests.get(link)
tree = html.fromstring(page.content)

series = tree.xpath('//span[@class="lista_td_calendar"]/text()')
print(series)

虽然它没有获取任何东西,但有没有办法让它不依赖于rel 参数?

【问题讨论】:

  • 用.cssselect() 代替.xpath 怎么样?像这样 - tree.cssselect('span.lista_td_calendar')
  • @sammy 我应该用.text_content() 打印它,尽管它会为我返回空字符串
  • 检查page.text 看看是否有你想要的内容。您可能需要查看网站并使用selenium
  • 好的,我明白了,是js改了一部分,所以初始化时是空的,谢谢帮助

标签: python html-parsing lxml


【解决方案1】:

问题是我试图达到的值是由 javascript 生成的,因此无法通过请求模块访问,使用 selenium 解决了问题

from selenium.webdriver.chrome.options import Options
from selenium import webdriver


chrome_options = Options()
chrome_options.add_argument("--headless")

driver = webdriver.Chrome(options=chrome_options)
driver.get('https://blackclover.wbijam.pl/pierwsza_seria-170.html')

elements = driver.find_elements_by_class_name('lista_td_calendar')

【讨论】:

    猜你喜欢
    • 2013-02-15
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 2022-01-14
    • 2012-01-01
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    相关资源
    最近更新 更多