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