目次
序文
この章は理論について、次のセクションはコードについて説明します
手を練習したり、Selenium パッケージを練習したり、練習したりするために使用してください。
(元々は練習用に使いたかったのですが、アンチクライミングが多いとは予想外でした。直接起動するのは難しいです。頼りにしています、凸です(艹盘哗))
クロール可能なサイトを探す
最初の大きな問題 - ウェブサイトの入り口を見つける
しかし、Xianyuの公式ウェブサイトは閉鎖されました(スタートは良くありませんでした)
GG
国を救うために曲線を描く
しかし、後でタオバオモバイル版ウェブ版の入り口から塩辛ウェブ版の入り口に直接入ることができることがわかりました(とにかくどうやって這うかは重要ではありません!!!)
リンクはここにあります。アクセス方法は聞かないでください
さて、最初の大きな問題(Web版の入り口を見つけて解決する)
模擬検索
次のステップは、Python の Selenium パッケージを使用してクリックをシミュレートすることです。
右クリックして検索し、クリックしてチェックして要素の xpath パスを見つけます (新しいバージョンの Selenium にはさまざまな用途があります。次の章でコードを実装します。この章では主に理論について説明します)。
次に、Python コードに検索したいテキストを入力し、Enter キーを押します。
2 番目に大きな問題 - ログイン
この塩辛 Web バージョンでは、ログインする必要があります
この方法では、ページにアクセスする前にログインする必要があります
最大の問題 - ログイン インターフェイス スライダーの検証
口を上げる
このログイン ページでは、ログイン ページは、埋め込まれたページの iframe 内にあります。
そのため、ログイン ボックスを直接見つけることはできません (私は長い間そうしてきたのですが、本当にとんでもないことです!!)
ログインCookieの取得
したがって、2つの選択肢があります
最初
Python でログイン ページを直接開き、ログイン ページに入ってログインし、Selenium ライブラリの get_cookie を直接使用して Cookie を取得して保存します。
ログインhttps://passport.goofish.com/mini_login.htm?ttid=h5%40iframe&redirectType=iframeRedirect&returnUrl=%2F%2Fh5.m.goofish.com%2Fapp%2Fvip%2Fh5-webapp%2Flib-login-message.html% 3Forigin%3Dhttps%253A%252F%252Fh5.m.goofish.com&appName=xianyu&appEntrance=web&isMobile=true 考え方はそれほど複雑ではありませんが、残念ながらログインできません(ログインにはスライダー認証があるため、ほとんどパスできません)それは手動では機能しません)
二番目
通常のWebページにログイン後、ブラウザのプラグインで解凍します。
クッキーエディタを使用しています
Web 版での通常のログインはスライダー認証を通過できます
次に、プラグインを使用して json ファイルをコピーし、貼り付けます。
4 番目の大きな問題 - エクスポートされた Cookie を使用できない
コードインポートを使用するとエラーになります
assert cookie_dict[‘sameSite‘] in [‘Strict‘, ‘Lax‘] AssertionError()
理由
抽出された Cookie 内の Samesite の値が strict または lax のいずれでもない場合、エラーが報告されます。
解決
JSON辞書でsamesiteのすべての値をStrictに変更するだけです
やっと
次に、Cookie を追加し、インターフェースを更新して検索結果を見つけます。
小さな問題
短期間に複数のリクエストを送信した場合もアンダーワールド スライダーの検証が行われるため、セットアップ後 30 分に 1 回クロールすることをお勧めします。
要約する
この実戦経験により、私はセレンの奇妙なアンチクライミング手法に数多く出会うことができました。疲れたダイ