問題タブ [python-requests-html]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1118 参照

python-3.x - 特定の量のページをスクレイピングするページネーション ループの作成方法 (ページは日によって異なります)

概要

私はサプライ チェーン マネジメント大学のプロジェクトに取り組んでおり、Web サイトへの毎日の投稿を分析して、サービス/製品に対する業界の需要を分析および文書化したいと考えています。毎日変更され、コンテナとページの量が異なる特定のページ:

https://buyandsell.gc.ca/procurement-data/search/site?f%5B0%5D=sm_facet_procurement_data%3Adata_data_tender_notice&f%5B1%5D=dds_facet_date_published%3Adds_facet_date_published_today

バックグラウンド

コードは、HTML タグをスクレイピングしてデータ ポイントを文書化することにより、csv ファイル (ヘッダーは気にしないでください) を生成します。「for」ループを使用しようとしましたが、コードはまだ最初のページしかスキャンしていません。

Python 知識レベル : 初心者、YouTube やグーグルで「苦労」を学びます。私の理解レベルではうまくいったが、人々のさまざまなソリューションを組み合わせるのに問題がある例を見つけました。

現時点でのコード

urllib.request から bs4 をインポート bs4 から uReq として urlopen をインポート スープとして BeautifulSoup をインポート

問題はここから始まる

この部分は、既存の項目に追加して書き込みません

さらに見たい場合はお知らせください。Rest は、HTML コードで検出され、csv に出力されるデータ コンテナーを定義しています。ヘルプ/アドバイスをいただければ幸いです。ありがとう!

実際の結果:

コードは、最初のページに対してのみ CSV ファイルを生成します。

コードは、少なくとも (毎日) 既にスキャンされたものの上に書き込まれません。

予想された結果 :

コードは次のページをスキャンし、通過するページがないことを認識します。

CSV ファイルは、1 ページあたり 10 行の csv を生成します。(数字は常に 10 とは限らないため、最後のページに表示される金額はいくらでもあります)。

コードは、既にスクレイピングされたものの上に書き込みます (履歴データを使用した Excel ツールを使用したより高度な分析用)。