pyppeteerでファイルをダウンロード

昨日、puppeteerでファイルをダウンロードする という記事を書いたのですが、puppeteerのpythonに移植した pyppeteer で同じようにファイルダウンロードをやってみました。 pyppeteer自体の使い方は以前記事を書いてるので、そちらをご覧ください。 pyppeteerの使い方 実装 puppeteerで試した中で一番筋が良さそうだった「ダウンロードのrequestをキャプチャして、同じ内容で別途requestを送信する」という方法を実装してみました。 from typing import Union, List, Dict import asyncio from uuid import uuid4 from mimetypes import guess_extension from pyppeteer.launcher import launch from py Continue Reading

Posted On :

pythonでスクレイピングする際に利用するライブラリ比較

Pythonでスクレイピングを実装する機会があったので、その中で利用した(もしくは技術検証した)ライブラリについて、特徴やどういう時に利用するかについて個人的な見解を書いていこうと思います。 requests 指定したURLに対してリクエストを投げて、レスポンスを取得することができるシンプルなライブラリです。 JavaScript実行を必要としないような静的なサイトからResponseを取得する目的であればこれで十分です。 特徴 HTTPレスポンス(ヘッダー、ステータスコード、HTML)を取得できる リクエストヘッダーやクッキーを指定してリクエストすることができる リダイレクト(301や302など)もしてくれる urllib3.util.retry.Retryと一緒に使えばリトライもできる response.textで本文を取得する際、charsetをよしなに解釈してdecodeして文字列 Continue Reading

Posted On :

pyppeteerの使い方

pyppeteerは、npmモジュールであるpuppeteerをpythonに移植したものです。 例えば、以下のようなことができます。 ヘッドレスブラウザ(chromium)を開く 実際にブラウザ内でページを読み込む CSSセレクタでHTMLエレメントを取得する HTMLエレメントをクリックし、画面遷移する JavaScriptも実行されるので動的に描画された後のHTMLを取得する Cookieも共有されるので、Cookieやセッションが必要なサイトのスクレイピングもできる インストール pip install pyppeteer # or poetry add pyppeteer シンプルな使い方 こちらのサイトにログインするサンプルを書いてみました。 import asyncio from pyppeteer.launcher import launch from pyppeteer. Continue Reading

Posted On :