Pythonを使って魚の商品情報をクロールする(1/2)

目次

序文

最初の大きな問題 - ウェブサイトの入り口を見つける

国を救うために曲線を描く

 模擬検索

2 番目に大きな問題 - ログイン

口を上げる

ログインCookieの取得

最初

二番目

 4 番目の大きな問題 - エクスポートされた Cookie を使用できない

 理由

解決

やっと

小さな問題

要約する

次のブログ (ほとんどのコード実装)


序文

この章は理論について、次のセクションはコードについて説明します

手を練習したり、Selenium パッケージを練習したり、練習したりするために使用してください。

(元々は練習用に使いたかったのですが、アンチクライミングが多いとは予想外でした。直接起動するのは難しいです。頼りにしています、凸です(艹盘哗))

クロール可能なサイトを探す

最初の大きな問題 - ウェブサイトの入り口を見つける

しかし、Xianyuの公式ウェブサイトは閉鎖されました(スタートは良くありませんでした)

Xianyu.淘宝網の中古品 - アイドル販売は簡単、安心して中古品を購入できるXianyu.淘宝網の中古品は、コミュニティベースの中古品のアイドル取引市場であり、都市内およびオンラインでの安全なさまざまな取引をサポートしているだけでなく、 、より安全ですが、最も専門的な保証もあります。 中古販売業者を購入すると、ここで簡単に中古アイドルを売買できます。https://goofish.com/

 GG

国を救うために曲線を描く

しかし、後でタオバオモバイル版ウェブ版の入り口から塩辛ウェブ版の入り口に直接入ることができることがわかりました(とにかくどうやって這うかは重要ではありません!!!)

リンクはここにあります。アクセス方法は聞かないでください

タオバオTaobao.com - アジア最大のオンライン取引プラットフォーム。あらゆる種類の衣料品、美容品、家具、デジタル、電話料金/ポイントカードのチャージ...数億点の高品質商品を提供し、安全な取引などのセキュリティ取引を提供します。 (後払い)、返品保証や破損交換などの消費者保護サービスも充実しており、安心してネットショッピングをお楽しみいただけます!https://main.m.taobao.com/index.html

 さて、最初の大きな問題(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 回クロールすることをお勧めします。

要約する

この実戦経験により、私はセレンの奇妙なアンチクライミング手法に数多く出会うことができました。疲れたダイ

次のブログ (ほとんどのコード実装)

Pythonを使って、ある魚の商品情報をクロールしてみる(2/2) https://blog.csdn.net/mumuemhaha/article/details/132260466?spm=1001.2014.3001.5501

おすすめ

転載: blog.csdn.net/mumuemhaha/article/details/132238660