在 BeautifulSoup 中抓取和更改日期中的数据

Scrape and change data in date in BeautifulSoup

我正在从不同的网页抓取数据,这些数据中有几个日期。允许我获得所需信息的代码如下所示,我只将有关日期的部分放在这里。

data = []
for url in urlsjugement:
    soup = BeautifulSoup(
        requests.get(url, headers=headers).content, "html.parser"
    )
    title = soup.select_one("#identite_deno").get_text(strip=True)
    
    try:
        active = soup.select_one('td:-soup-contains("Jugement") + td').get_text(
        strip=True)
    except:
        active = "In activity"
    
    date = soup.select_one('td:-soup-contains("Date création entreprise") + td').get_text(
            strip=True)

    data.append([title, active, date])

df = pd.DataFrame(
    data,
    columns=["Title", "Active", "Date"],
)

print(df.to_markdown())

我想首先将判决书和判决日期分开成两个不同的数据,以便能够比较这两个日期。有一个企业创建日期和一个关闭日期,所以我想知道企业的生命周期,可以吗?


    | Title                       | Active                                | Date       |
|---:|:----------------------------|:--------------------------------------|:-----------|
|  0 | 1804 TRANSPORT              | Liquidation judiciaire le 07-01-2022- | 28-01-2013 |

我在活动列中有 2 个信息,我想将它们分开。在此之后我想计算两个日期之间的时间。 感谢您的帮助!

我只在你的第一个 url 上尝试过,但在你的 for 循环中,我会进行以下更改:

title = soup.select_one("#identite_deno").text
start = list(soup.select_one('td:-soup-contains("Date création entreprise") + td'))[0].text.strip()
end = list(soup.select_one('td.red').stripped_strings)[0].split('le ')[1]
days = datetime.strptime(end, '%d-%m-%Y')-datetime.strptime(start, '%d-%m-%Y')
data.append([title, start, end,days.days])