ブログ監査のスクレイパー開発・カスタマイズ

コンテンツ監査用に、ブログの全記事を一覧にするPythonスクレイパー:タイトル、日付、文字数、見出し

通常15 分で完成修正対応込み品質チェック
プラン
安心決済詳しく
  • プランの範囲内の修正は無料です。
  • 納品から3日以内にご対応がない場合、自動的に承認されます。

代金はお支払い時にお預かりし、納品を承認した時点ではじめて支払われます。

コンテンツ監査用に、ブログの全記事を一覧にするPythonスクレイパー:タイトル、日付、文字数、見出し

成果物の例

スタンダードパッケージの例

園芸用品の仕入れ先のカタログをExcelにするスクレイパー

結果のイメージ

品番商品名価格在庫重量写真
GT-1042剪定ばさみ、20 mm18.90あり0.24 kg…/gt-1042.jpg
GT-1187折りたたみのこぎり、210 mm24.50あり0.31 kg…/gt-1187.jpg
GT-2210刈込ばさみ、波刃39.00なし1.10 kg…/gt-2210.jpg
GT-3305移植ごて、ステンレス9.80あり0.18 kg…/gt-3305.jpg
GT-4120ガーデンホース 25 m、1/2"42.00あり2.90 kg…/gt-4120.jpg

例のファイルには、52の一覧ページから集めた1,236件の商品が入っています。

コードの一部

def product_links(list_url: str) -> Iterator[str]:
    """一覧の全ページから商品ページのリンクを取得し、「次へ」をたどります。"""
    url: str | None = list_url
    while url:
        page = fetch(url)
        for card in page.select("div.product-card a.title"):
            yield urljoin(url, card["href"])
        next_link = page.select_one("a.pagination-next")
        url = urljoin(url, next_link["href"]) if next_link else None


def fetch(url: str) -> BeautifulSoup:
    """公開ページを1つ、控えめなペースで取得します。リクエストの間に待ち時間を置き、エラー時は数回やり直します。"""
    for attempt in range(3):
        time.sleep(settings.delay_seconds)
        response = session.get(url, timeout=30)
        if response.status_code == 200:
            return BeautifulSoup(response.text, "html.parser")
        log.warning("%s の応答は %s、3回中%d回目の試行", url, response.status_code, attempt + 1)
    raise ScraperError(f"{url} は3回試しても開けませんでした")

ファイル: scraper.py、settings.ini(開始ページ、リクエスト間の待ち時間、ファイル名)、requirements.txt、インストールと実行の方法を説明したREADMEを含むZIPファイル。読み込むのは公開ページだけで、2秒に1ページのペースで、最初にサイトのrobots.txtを確認します。お客様ご自身のパソコンで実行していただきます。

お客様: 仕入れ先の道具を再販している園芸用品のネットショップ。仕入れ先のウェブサイトには公開カタログがありますが、価格表のファイルはありません。 ご依頼内容: カタログの一覧ページを巡回してすべての商品ページを開き、品番、商品名、価格、在庫、重量、メイン写真のリンクをExcelに保存して、週に1回価格を比べられるようにする。

お客様とすべての情報は架空のものです。

このサービスについて

古い記事を書き直す、統合する、削除する前に、ブログに何があるかの一覧が必要です。このスクレイパーは、ブログの公開された記事一覧をたどって各記事を開き、1行ずつ保存します。リンク、タイトル、公開日と、表示されていれば更新日、カテゴリ、タグ、文字数、小見出しの数、画像とリンクの数、メタディスクリプション。ご自身のブログで最も効果を発揮し、競合の公開ブログも読み込めます。ブログのURL、記事1つ、ブラウザから保存したページ1〜2ページをお送りください。Pythonコード、設定ファイル、READMEをお渡しし、お客様のパソコンで実行していただきます。出すのは事実でありスコアではなく、検索順位も約束しません。公開ページを控えめなペースで読み込み、ログインやCAPTCHA・保護の回避は一切行わず、著者名は除外します。サイトの規約上問題ないかはお客様のご判断となり、のちにレイアウトが変わった場合は更新が必要です。

含まれる内容

  • 納品物Pythonのコード、設定ファイル、手順を一つずつ説明したREADMEを入れたZIPファイル。コードは注文ページでも確認できます。
  • 記事ごとのカウント文字数、小見出し、画像、リンク
  • 日付とカテゴリ公開日、更新日、カテゴリ、タグ
  • タイトルとディスクリプションページに書かれたとおりに、その長さも
  • すぐに絞り込めるExcelで日付や長さで並べ替え
  • 控えめなペースページ間の待ち時間は設定ファイルで指定

ご利用の流れ

  1. 1
    ブログブログのURLと、保存した記事1つをお送りいただきます
  2. 2
    スクレイパーコードと実行ガイドを作成します
  3. 3
    実行実行して、2〜3記事のカウントを確認していただきます
  4. 4
    修正プランの範囲内で修正を依頼し、エラーメッセージがあればお送りください

ご用意いただくもの

ブログのURLと記事一覧へのリンク、記事1つ、おおよその記事数。必要な項目(例:リンク、タイトル、日付、カテゴリ、タグ、文字数、小見出し、メタディスクリプション)。ブラウザから保存した対象ページ1〜2ページ(ファイル>名前を付けてページを保存)。ご自身のブログか別のブログか、CSVかExcelか。

お伺いする内容:

  • どのブログですか?
  • 必要な項目
  • おおよその記事数は?
  • その他の要望

プランを比較

プランベーシックリストから記事を取得¥3,400スタンダードブログ全体¥6,650プレミアムブログ3つまで¥11,590
納期1日2日3日
修正回数123
サイト数11最大3
ページの種類12(記事一覧と記事)最大3
項目数最大10最大25各最大25
一覧の複数ページを巡回なしありあり
出力ファイルCSVExcelまたはCSVExcel、CSV、JSON
重複の削除、中断した所から再開なしなしあり
注文する ベーシック注文する スタンダード注文する プレミアム

安心決済

お支払いは注文時ですが、代金が支払われるのは承認された納品に対してのみです。

  • 固定料金お支払い後にプランの料金が変わることはありません。
  • 代金はお預かりお支払い時、代金はお預かりするだけです。納品を承認した時点でサービス側に支払われます。
  • 納品前にチェックすべての成果物はお手元に届く前に品質チェックを受けます。承認前に注文ページで内容を確認できます。
  • 無料の修正依頼内容の範囲内で、プランで定められた回数まで修正を依頼できます。
  • 3日後に自動承認納品から3日以内に承認も修正依頼もない場合、自動的に承認されます。納品後に注文チャットでメッセージを送った場合、注文は保留されます。こちらから回答した後、3日間のカウントを再開することがあり、その際はチャットでお知らせします。
  • やり直しまたは全額返金結果が依頼内容と合わず修正でも解決しなかった場合、または作業に納期の2倍を超える時間がかかった場合は、注文チャットでご連絡ください。作業をやり直すか、代金を全額返金いたします。
詳しい仕組み →

質問と回答

どの記事を削除すべきか教えてもらえますか?

いいえ。各記事の事実を1つの表にまとめます。どの記事を書き直す、統合する、削除するかはお客様のご判断です。

記事ごとの検索流入も加えられますか?

いいえ。流入数はアクセス解析のアカウントにあり、スクレイパーはログインしません。アクセス解析からエクスポートし、Excelでリンクをキーに表と結合してください。

自分のものではないブログも読めますか?

公開されていれば可能で、規約上問題ないかはお客様にご判断いただきます。SNS内のブログ、LinkedIn、Google、Amazonは読み込みません。

WordPressなどのブログシステムでも使えますか?

はい、システムに関係なく公開ページを読み込みます。のちにブログのテーマが変わった場合は更新が必要で、新しいご注文となります。

答えが見つかりませんか?

プラン