[TIL]Crawling Library


beautifulsoup
bemiulsgroupはHTMLとXMLドキュメントを分割するPythonパッケージです.HTMLからWebスクリプトに役立つデータを抽出する解析ページの解析ツリーを作成します.
requests
「要求ライブラリ」は、要求がそのアドレスに送信されたときに応答を受信するためのHTTPクライアントです.
HTTPメソッドGET、POST、PUT、DELETE、OPTION.JSONによるエンコードやパラメータ入力も可能です.
スクロールは、「要求」を使用して、スクロール先ページ(URL)にリンクします.
import requests

# 요청 
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
  
# 응답 
> r.status_code
200

> r.headers['content-type']
'application/json; charset=utf8'

> r.encoding
'utf-8'

> r.text
u'{"type":"User"...'

> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}
selenium
Seleniumは主にWebアプリケーションのテストに使用されます.WebdriverというAPIを使用して、Chromeなどのオペレーティングシステムにインストールされているブラウザを制御します.
Seleniumは、Webサイトをテストするためのツールで、ブラウザの動作を自動的に実行できます.販売収入を利用してWebスクロールを行う方法は、この利点を十分に利用することです.ブラウザの動作をプログラミングで制御することで、人のようにWebページを要求して応答することができます.
ダイレクトドライバブラウザは、JavaScriptを使用して非同期または遅延ロードのコンテンツを取得できることを意味します.私たちはリクエストで使用しました.textの場合、ブラウザの「ソースの表示」と同じ動作をするため、DOM変更後のHTMLはJSで動的に表示されません.Seleniumの実際のWebブラウザは正常に動作するため、JSレンダリングが完了したDOM成果物にアクセスできます.
  • ウェブサイトがプログラムによるアクセスを許可しない場合、
  • ウェブサイトが登録を要求する場合、
  • Webサイトが動的Webページで構成されている場合、
  • 上記の場合、リクエストライブラリのみでは解決しにくい.この場合、セレンの利用は問題を解決する最も簡単で、最も有効な方法である.
    webdriver_manager
    Seleniumにスクロールするには、スクロール時にブラウザを制御するブラウザドライバをダウンロードする必要があります.次に、Webページにアクセスするためにwebdriverオブジェクトを作成する必要があります.
    driver = webdriver.Chrome(chrome_driver_path)
    上のコードを使用してオブジェクトを作成します.
    しかし、この場合はエラーが発生します.
    ダウンロードしたクロムドライバを使用してエラーを防止するのではなく、Webドライバマネージャをインストールして使用します.
    $ pip install webdriver-manager
    次に、Webドライバをインポートします.
    
    from webdriver_manager.chrome import ChromeDriverManager
    
    管理者が手動でインストールするパスを指定した場合は、次の操作を行います.
    クロムドライバマネージャは、クロムの制御権を取得します.