当前位置: 首页 > 面试题库 >

无法以表格形式从日期内容中获取日期

芮宇航
2023-03-14
问题内容

我已经用python与selenium结合编写了一个脚本,以解析网页中表格中的一些可用日期。该表位于标题下NPL Victoria Betting Odds。表格数据位于id内tournamentTable。你可以看到三个日期还有10 Aug 201811 Aug 201812 Aug 2018。我希望根据我下面的预期输出来解析和排列它们。

网页连结

到目前为止,这是我的尝试:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup

link = "find the link above"

def get_content(driver,url):
    driver.get(url)
    for items in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,"#tournamentTable tr"))):
        try:
            idate = items.find_element_by_css_selector("th span[class^='datet']").text
        except Exception: idate = ""
        try:
            itime = items.find_element_by_css_selector("td.table-time").text
        except Exception: itime = ""

        print(f'{idate}--{itime}')

if __name__ == '__main__':
    driver = webdriver.Chrome()
    wait = WebDriverWait(driver,10)
    try:
        get_content(driver,link)
    finally:
        driver.quit()

目前,我的输出如下:

--
10 Aug 2018--
--
--09:30
--10:15
11 Aug 2018--
--
--05:00
--05:00
--09:00
12 Aug 2018--
--
--06:00
--06:00

我的预期输出:

10 Aug 2018--09:30
10 Aug 2018--10:15
11 Aug 2018--05:00
11 Aug 2018--05:00
11 Aug 2018--09:00
12 Aug 2018--06:00
12 Aug 2018--06:00

问题答案:

尝试使用以下代码:

def get_content(driver,url):
    driver.get(url)
    dates = len(wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,"#tournamentTable tr.center.nob-border"))))
    for d in range(dates):
        item = driver.find_elements_by_css_selector("#tournamentTable tr.center.nob-border")[d]
        try:
            idate = item.find_element_by_css_selector("th span[class^='datet']").text
        except Exception: idate = ""
        for time_td in item.find_elements_by_xpath(".//following::td[contains(@class, 'table-time') and not((preceding::tr[@class='center nob-border'])[%d])]" % (d + 2)):
            try:
                itime = time_td.text
            except Exception: itime = ""
            print(f'{idate}--{itime}')


 类似资料:
  • 问题内容: 我正在尝试以HTTP 1.1中指定的格式获取Java中日期的字符串。据我所知,这是: 1999年12月31日,星期五,格林尼治标准时间23:59:59 时间一直在格林​​尼治标准时间。 从Date / Calendar /获取此信息的最简单方法是什么? 问题答案: 如果有人试图在这里找到答案(就像我一样),这就是解决问题的方法: 以便将服务器设置为说英语,并在GMT时区指定时间。

  • 问题内容: 我需要将当前日期添加到JDBC调用的准备好的语句中。我需要以格式添加日期。 我试过了 但是我有这个错误: 有没有办法获取具有相同格式的对象? 问题答案: A 不是。相反。A 是一个。 您需要将其转换为使用,需要一个构造函数,一个可以提供。

  • 问题内容: 我正在尝试获取格式化的日期,包括毫秒数。 唯一的问题是我不断赚到000000 例如 2013/07/28 11:26:14.000000 问题答案: php.net说: 微秒(在PHP 5.2.2中添加)。请注意,由于它采用整数参数,因此将始终生成,而如果使用微秒创建,则支持微秒。 所以使用起来很简单: 推荐和使用参考类: 注意是微秒(1秒= 1000000 µs)。 来自php.ne

  • 我正在尝试将DatePicker日期格式化为简单的数据格式(“yyyy-MM-dd HH: mm: ss Z”)。有人告诉我,我需要使用简单的数据格式将其解析为日期对象-简单的数据格式(“yyyy-MM-dd”),然后将其格式化为我需要的内容,如下所示。但是,我在尝试捕捉块中收到错误“重复局部变量eDate”。任何专家都可以查看我的代码并提出建议吗? 已更新

  • 问题内容: 我要特别问的是,是否有人知道默认转换格式在哪里指定,是由JDBC规范在某处定义的,还是由单独的JDBC驱动程序决定的。如果是后者,那么另一个问题是Oracle 10g JDBC如何做到这一点? **添加了1月15日: 抱歉,我认为问题已经很清楚了,但显然不是。我不是想从数据库中检索日期值,也不需要关于执行该操作的方法的建议。 我不认为这是所引用问题的重复,这就是为什么我在这里提出一个单

  • 我在第二个脚本中得到错误。请解释为什么我在第二个脚本中得到错误。 从LCL_SHR_IncidentIntegrationInt中选择count(*),其中externalsystem='ipsoft'和(to_char(sysdate,'yyyymmddhh24miss')-to_char(fn_adjusted_date(CREATE_DATE),'yyyymmddhh24miss'))>18