df.atで処理が終わってから、処理したい
理解しました。データフレームにデータを追加する前に、重複のチェックと処理を行い、その後にデータを追加する方法をお探しですね。その場合、まず各 URL をチェックして重複を削除し、その後にデータフレームにデータを追加することができます。以下はその方法の例です:
python
existing_urls = set() # 既存の URL を格納するセット # 重複をチェックし、データを準備する for index, i in tqdm(enumerate(self.fetch_product_loop_url_atag()), total=len(self.fetch_product_loop_url_atag())): url = i.find_element(By.TAG_NAME, "a").get_attribute("href") # 既存の URL がセットに含まれているか確認 if url not in existing_urls: # 重複がない場合はデータを追加 df.at[index, "crawl_site_id"] = self.crawl_site_id df.at[index, "url"] = url df.at[index, "html_content"] = requests.get(url).text df.at[index, "html_sub_content"] = self.fetch_sub_content(i) df.at[index, "crawl_timestamp"] = timezone.now() # セットに URL を追加 existing_urls.add(url) # ロギング self.logger.info(f'detail_url:{url}') # インターバルを設定 sleep(self.sleep_time) # データフレームを返す return df
この方法では、各 URL を処理してデータを準備した後、重複をチェックし、重複していない場合にのみデータを追加します。そして、追加された URL はセットに追加されます。最後にデータフレームを返します。

ディスカッション
コメント一覧
まだ、コメントがありません