У меня возникли проблемы с питоном, и я потерял обзор возможностей получения нужного мне результата.Я хочу построить набор данных.Если мы начнем с 0, рабочий процесс будет:
1) Import articles (dataset B) with BeautifulSoup by API
2) Get the body, published date, url, title out of the soup
3) Evaluate the story inside the body
5) Build a dataframe with evaluation, body, published date, url, title
6) Store it inside a csv file
7) Start at 1)
8) Import articles
9) Get the body, ...
10) NOW PROOF IF THE IMPORTED ARTICLES ARE NEW OR ALREADY INSIDE MY DATASET FROM 6)
11) Go on with step 3)
Мой вопрос о шаге 10)
Я импортирую набор данных (A) из CSV с пандами и хочу сравнить его с новымнабор данных (B), который я получаю от API веб-сайта BeautifulSoup.
Набор данных A - это кадр данных с 5 столбцами и> 20 строками: оценка, дата / время, URL, заголовок, текст Например: 1, 2018-12-17T06: 34: 46 + 0100, https://www.xyz.de, название статьи, история статьи
Набор данных B - это суп, который я использую в интерфейсе API.С некоторой дополнительной информацией, чем набор данных A.
Мне нужно сравнить оба набора данных A и B и просто принять необходимые сигналы (дата / время, URL, заголовок, текст) их различия.
Поэтому я попытался объединить оба набора данных с датой / временем публикации.Итак, я начал получать дату / время, URL, заголовок и текст в виде отдельных векторов из супа, например (набор данных B):
soup = BeautifulSoup(newData.content,'html.parser')
publishedB = soup.find_all("published")
urlB= soup.find_all("url")
titleB = soup.find_all("title")
bodyB = soup.find_all("body")
Так что я ловлю опубликованныйB (element.ResultSet)который выглядит как
publishedB =
<published>2018-12-17T04:42:40+0100</published>
<published>2018-12-17T04:43:40+0100</published>
<published>2018-12-17T04:44:40+0100</published>
и, например, истории статей.
bodyB=
Story of an article1
Story of an article2
Story of an article3
Затем я беру вектор даты / времени другого набора данных (A), который я получаю из
datasetA= pd.read_csv('file.csv')
dateTimeA = datasetA.iloc[:, 1]
и представляет собой серию, подобную
publishedA=
0 2018-12-17T04:41:40+0100
1 2018-12-17T04:42:40+0100
2 2018-12-17T04:43:40+0100
Сравнивая данные даты и времени, вы видите, что dataB имеет только одну дату, которая позже, чем самая последняя из dataA.Это последнее:
<published>2018-12-17T04:44:40+0100</published>
Так что мне нужны только данные с этого времени / даты.В этом примере это 3-я строка.Итак, теперь я хочу извлечь 3-ю строку текстовых данных:
Story of an article3
Теперь я борюсь с этим проклятым сравнением и удалением правильных строк.Я попытался найти, найти, повторно и потерял свой обзор.Я не уверен, как достичь своей цели.