色々なモデルのデータを自社品番で組み合わせたいんだけど、dataframeをつかうのかな?
DataFrameを使用して複数のモデルのデータを自社品番で組み合わせることは一つの方法です。DataFrameを使用することで、異なるモデルから取得したデータを結合し、処理や分析を行うことができます。
以下は、DataF ...
csvでpandasで読み取って、Djangoモデルへ保存したい。
Pandasを使用してCSVファイルを読み取り、そのデータをDjangoのモデルに保存する方法を示します。
まず、CSVファイルを読み取り、PandasのDataFrameにデータをロードします。
pythonimp ...Djangoでmanagement commandでファイルを作りたい。
Djangoの管理コマンドを使用して、ファイルを作成する方法を示します。
まず、management/commandsディレクトリに、新しい管理コマンド用のPythonファイルを作成します。例えば、create_file. ...
driver.implicitly_wait(180) # ここでイムアウトを設定 これで設定しているんだけど、だめかな?
implicitly_wait()は、要素が見つかるまでの最大待機時間を設定します。しかし、このメソッドは要素が見つかるまで待機するだけで、ページが完全に読み込まれるのを待つわけではありません。そのため、ページが読み込みの遅さや Ja ...
具体的にどこにsleepを追加したらいい?
fetch_product_url()メソッド内の詳細ページの取得部分で、要素が表示されるまで待機するために明示的な待機を追加することができます。以下はその方法です:
pythonfrom selenium.webdr ...
Error occurred during Crawl moriwaki: Message: unknown error: session deleted because of page crash from unknown error: cannot determine loading status from tab crashed (Session info: headless chrome=114.0.5735.90) Stacktrace: #0 0x5633e74b94e3 <unknown> #1 0x5633e71e8b00 <unknown> #2 0x5633e71d1f42 <unknown> #3 0x5633e71d09bf <unknown> #4 0x5633e71d1162 <unknown> #5 0x5633e71df0d5 <unknown> #6 0x5633e71e0222 <unknown> #7 0x5633e71f2e01 <unknown> #8 0x5633e725c470 <unknown> #9 0x5633e7243de3 <unknown> #10 0x5633e72192dd <unknown> #11 0x5633e721a34e <unknown> #12 0x5633e74793e4 <unknown> #13 0x5633e747d3d7 <unknown> #14 0x5633e7487b20 <unknown> #15 0x5633e747e023 <unknown> #16 0x5633e744c1aa <unknown> #17 0x5633e74a26b8 <unknown> #18 0x5633e74a2847 <unknown> #19 0x5633e74b2243 <unknown> #20 0x7f7591e74ac3 <unknown>
このエラーは、ページがクラッシュしてセッションが削除されたことを示しています。これは、ページが正常に読み込まれなかったり、ロードの状態が判別できなかったりする場合に発生します。
この問題を解決するために、以下の手順を試して ...
現在のURLを表示selenium
Seleniumを使用して現在のURLを取得するには、WebDriverオブジェクトのcurrent_url属性を使用します。以下はその方法です:
pythonfrom selenium import webdrive ...
seleniumだと
Seleniumを使用して現在のURLを取得する方法は、先ほど示したコードと同じです。以下にその例を示します。
pythonfrom selenium import webdriver# Chrome WebDrive ...
seleniumのheadlessで実行しようとすると、スマホで取得しているらしい
SeleniumでHeadlessモードで実行すると、デフォルトではユーザーエージェントがモバイルデバイスのものに設定されることがあります。これは、ウェブサイトがモバイルデバイスに対応している場合に役立つ場合がありますが、ユーザーエー ...
GPUを無効にするってなに
GPU(Graphics Processing Unit)は、コンピューターのグラフィックス処理を担当する部分です。通常、ブラウザーはGPUを利用してウェブページの描画を高速化します。しかし、一部の環境ではGPUの利用が問題を引き起こ ...
モデルへデータを格納したい
モデルにデータを格納するには、DjangoのORM(Object-Relational Mapping)を使用してデータベースに新しいレコードを作成する必要があります。以下は一般的な手順です:
Djangoのモデルを定義する:m .../home/NBSystem/forest_packers/export/rf_shipping_size.csv いつ作成されたか
ファイルが作成された日時を調べるために、ファイルの作成日時を取得する方法は、OSに依存しますが、一般的な方法をいくつか示します。
Linux/macOS:
ターミナルで次のコマンドを実行します。
results = pd.DataFrame({ ‘original_product_code’: X_new_original_product_code, ‘packing_size’: predicted_sizes }) これをPackingSizeResultに保存したい
PackingSizeResult モデルに original_product_code と packing_size を保存するために、次の手順を実行する必要があります。
PackingSizeResult モデルのインスタン ...dfを保存したいのさ
Pandas の DataFrame をCSVファイルとして保存するには、to_csv() メソッドを使用します。以下は、results データフレームをCSVファイルとして保存する方法です。
pythonresult ...
if X_combined_new.shape[1] == X_combined.shape[1]: # モデルを使用してサイズを予測する predicted_sizes = rf_model.predict(X_combined_new) # packing_sizeとoriginal_product_codeを含む新しいオブジェクトのリストを作成 # new_objects = [ # PackingSizeResult(packing_size=size, original_product_code=code) # for size, code in zip(predicted_sizes, X_new_original_product_code) # ] # # 作成したオブジェクトを一括でデータベースに保存 # PackingSizeResult.objects.bulk_create(new_objects) # 予測されたサイズとoriginal_product_codeを含むデータフレームを作成する results = pd.DataFrame({ ‘original_product_code’: X_new_original_product_code, ‘packing_size’: predicted_sizes }) このresultをモデルへ保存したい。bulkで
bulk_create を使用して results データフレームの内容をモデルに一括で保存する方法を示します。bulk_create を使用する際には、オブジェクトのリストを生成してから bulk_create メソッドを呼び出す必 ...
Error occurred during Crawl rough_and_road: Message: unknown error: session deleted because of page crash from unknown error: cannot determine loading status from tab crashed (Session info: headless chrome=114.0.5735.90) Stacktrace: #0 0x559712dd24e3 <unknown> #1 0x559712b01b00 <unknown> #2 0x559712aecb69 <unknown> #3 0x559712aec066 <unknown> #4 0x559712aeb168 <unknown> #5 0x559712aeafa0 <unknown> #6 0x559712ae99bf <unknown> #7 0x559712aea162 <unknown> #8 0x559712af80d5 <unknown> #9 0x559712af9222 <unknown> #10 0x559712b0bbcb <unknown> #11 0x559712b103ab <unknown> #12 0x559712aea703 <unknown> #13 0x559712b0b810 <unknown> #14 0x559712b7521c <unknown> #15 0x559712b5cde3 <unknown> #16 0x559712b322dd <unknown> #17 0x559712b3334e <unknown> #18 0x559712d923e4 <unknown> #19 0x559712d963d7 <unknown> #20 0x559712da0b20 <unknown> #21 0x559712d97023 <unknown> #22 0x559712d651aa <unknown> #23 0x559712dbb6b8 <unknown> #24 0x559712dbb847 <unknown> #25 0x559712dcb243 <unknown> #26 0x7fd124a3dac3 <unknown>
このエラーは、ページがクラッシュしてセッションが削除されたことを示しています。原因はいくつか考えられますが、一般的な原因としては次のようなものが挙げられます。
ページ内でのJavaScriptのエラーまたは問題ページがロ ...
スクロールバーが複数ある場合、画面の最下部へ移動したいんだけど、seleniumでどうやるの?うまくいかない
Seleniumを使用してページの最下部にスクロールするには、JavaScriptを使用してページのスクロール位置を制御する方法があります。以下はその方法です:
python# ページの最下部にスクロールするためのJa ...
NoSuchElementException Traceback (most recent call last) Cell In[22], line 4 2 time.sleep(1) 3 class_name_page_wrapper =”pager-block” —-> 4 driver.find_element(By.CLASS_NAME, class_name_page_wrapper).find_element(By.LINK_TEXT, “次へ>>”).click() 5 print(driver.current_url) File ~anaconda3libsite-packagesseleniumwebdriverremotewebelement.py:417, in WebElement.find_element(self, by, value) 414 by = By.CSS_SELECTOR 415 value = f'[name=”{value}”]’ –> 417 return self._execute(Command.FIND_CHILD_ELEMENT, {“using”: by, “value”: value})[“value”] File ~anaconda3libsite-packagesseleniumwebdriverremotewebelement.py:395, in WebElement._execute(self, command, params) 393 params = {} 394 params[“id”] = self._id –> 395 return self._parent.execute(command, params) File ~anaconda3libsite-packagesseleniumwebdriverremotewebdriver.py:347, in WebDriver.execute(self, driver_command, params) 345 response = self.command_executor.execute(driver_command, params) 346 if response: –> 347 self.error_handler.check_response(response) 348 response[“value”] = self._unwrap_value(response.get(“value”, None)) 349 return response File ~anaconda3libsite-packagesseleniumwebdriverremoteerrorhandler.py:229, in ErrorHandler.check_response(self, response) 227 alert_text = value[“alert”].get(“text”) 228 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here –> 229 raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: no such element: Unable to locate element: {“method”:”link text”,”selector”:”次へ>>”} (Session info: chrome-headless-shell=122.0.6261.94); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception Stacktrace: GetHandleVerifier [0x00B98D03+51395] (No symbol) [0x00B05F61] (No symbol) [0x009BE13A] (No symbol) [0x009F62BB] (No symbol) [0x009F63EB] (No symbol) [0x009EE001] (No symbol) [0x00A13ED4] (No symbol) [0x009EDF7E] (No symbol) [0x00A14124] (No symbol) [0x00A2A570] (No symbol) [0x00A13C26] (No symbol) [0x009EC629] (No symbol) [0x009ED40D] GetHandleVerifier [0x00F168D3+3712147] GetHandleVerifier [0x00F55CBA+3971194] GetHandleVerifier [0x00F50FA8+3951464] GetHandleVerifier [0x00C49D09+776393] (No symbol) [0x00B11734] (No symbol) [0x00B0C618] (No symbol) [0x00B0C7C9] (No symbol) [0x00AFDDF0] BaseThreadInitThunk [0x7548FCC9+25] RtlGetAppContainerNamedObjectPath [0x76EE7C5E+286] RtlGetAppContainerNamedObjectPath [0x76EE7C2E+238]
NoSuchElementExceptionは、指定された条件に一致する要素が見つからなかった場合に発生します。エラーメッセージを見る限り、次へのリンク(<a>要素)が見つからなかったようです。
この問題を解決 ...
headlessモードにすると取得できなくなる
headlessモードでブラウザを実行すると、JavaScriptが実行されないため、ページの要素がロードされないことがあります。そのため、要素が表示されるまで待機する必要があります。
以下は、要素が表示されるまで待機する ...
class_name_page_wrapper =”pager-block” driver.find_element(By.CLASS_NAME, class_name_page_wrapper).find_element(By.LINK_TEXT, “次へ>>”).click()
エラーが発生しているのは、要素が見つからないためです。この問題を解決するためには、以下の点を確認してください。
class_name_page_wrapper で指定しているクラス名が正しいかどうかを確認してください。ペー ...
先のコードに変換して
次のようにコードを修正して、要素が見つかるまで待機することができます。
pythonfrom selenium.webdriver.common.by import Byfrom selenium.webdriver. ...
TimeoutException Traceback (most recent call last) Cell In[23], line 9 7 # 要素が表示されるまで待機する 8 wait = WebDriverWait(driver, 10) —-> 9 page_wrapper = wait.until(EC.visibility_of_element_located((By.CLASS_NAME, class_name_page_wrapper))) 11 # “次へ>>” リンクが表示されるまで待機する 12 next_link = wait.until(EC.visibility_of_element_located((By.LINK_TEXT, “次へ>>”))) File ~anaconda3libsite-packagesseleniumwebdriversupportwait.py:105, in WebDriverWait.until(self, method, message) 103 if time.monotonic() > end_time: 104 break –> 105 raise TimeoutException(message, screen, stacktrace) TimeoutException: Message:
TimeoutExceptionが発生した場合、要素が見つからなかったか、指定された時間内に要素が表示されなかったことを意味します。この場合、次のことを試してみることができます:
要素のセレクタが正しいかどうか確認してください。 ...