×
固定報酬制
|
ワーカーと相談する
|
---|---|
納品完了日
|
- |
掲載日
|
2022年12月12日 |
応募期限
|
2022年12月26日 |
必要なスキル
|
応募した人 | 8 人 |
---|---|
契約した人 | 0 人 |
募集人数 | 1 人 |
気になる!リスト | 8 人 |
【 概要 】 下記マッチングアプリのweb版へログインし、「さがす」のページに表示される異性を順にクリック→戻るを繰り返すテストプログラムの作成 https://with.is/ chromeのユーザープロファイルにログイン設定は残すので、ログインの処理は必要ありません。 下記の流れになるかと想定しています selenium使用時にユーザープロファイルを読み込むようにして2段階認証が発生しないようにする さがすページを開き、スクロールしてユーザーを読み込み 表示されるユーザーのURLを取得 ユーザ詳細ページ<==>一覧ページの遷移を繰り返す 記述はおまかせしますが、以前作成したプログラムを下記に記載いたします。 ※現在のサイトの仕様では、 File "XXXXX", line 54, in <module> main() File "XXXXX", line 26, in main user = driver.find_elements_by_class_name('link-area')[-1] AttributeError: 'WebDriver' object has no attribute 'find_elements_by_class_name' のエラーが表示されるため動きません。 -------- import time from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager # ChromeDriverの自動バージョン管理 ############################################################################## # ユーザプロファイルのパス(chrome://version より確認可能) PROFILE_PATH = 'XXXXX' ############################################################################## # 検索する最大のユーザー数 MAX_USER_NUM = 450 def main(): # Webドライバのセットアップ options = webdriver.ChromeOptions() options.add_argument(f'--user-data-dir={PROFILE_PATH}') driver = webdriver.Chrome(ChromeDriverManager().install(), options=options) # ChromeDriverの自動バージョン管理 driver.implicitly_wait(5) # マッチングサイトにアクセス driver.get('https://with.is/') # ユーザ数が最大件数に到達する or 取得できなくなるまでデータを取得 while(1): user = driver.find_elements_by_class_name('link-area')[-1] driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") time.sleep(3) if(user == driver.find_elements_by_class_name('link-area')[-1]): break if(len(driver.find_elements_by_class_name('link-area'))>MAX_USER_NUM): break # ユーザ一覧取得 users = driver.find_elements_by_class_name('link-area')[0:MAX_USER_NUM] # 取得したユーザ数が最大件数以上の場合、件数を調整 if(len(users)>MAX_USER_NUM): users = users[0:MAX_USER_NUM] # ユーザ詳細ページのURLのみを配列に退避 urls = [] for user in users: url = user.get_attribute('href') urls.append(url) # ユーザ詳細ページ<==>一覧ページの遷移繰り返し for url in urls: # n番目のユーザ詳細ページへ遷移 driver.get(url) print(f"{urls.index(url)+1}番目のユーザ詳細ページへ遷移しました") # 1つ前のページ(ユーザ一覧ページ)へ戻る #driver.back() time.sleep(1) if __name__ == "__main__": main() 【 納期 】 即日希望 【 契約金額(税抜) 】 1000〜2000円程度で見積もりをお願いします。 【 重視する点・開発経験 】 ・動作が安定している 【 応募方法 】 初心者の方でもOKです。最初の評価づくりいかがでしょうか。 基本的に高評価いたします。 ご質問がありましたら、気軽にお問い合わせください。 応募をお待ちしております! |
クラウドワーカー | 応募日時 |
---|---|
(退会済み) | 2022/12/16 17:25 |
misuzu2019 | 2022/12/14 15:07 |
masao16 | 2022/12/14 00:48 |
Devo-Phoenix | 2022/12/13 12:44 |
Sr. Engineer | 2022/12/13 10:06 |
jtow | 2022/12/13 08:12 |
[亜希子] | 2022/12/13 08:03 |
[春香] | 2022/12/13 07:34 |