0

コマース Web サイトから製品 ID を取得する必要があります。製品 ID は、URL の末尾にある一連の番号です。

例:http://example.com/sp/123170/製品 ID を持っています123170

いくつかの要件:

  • コードは Python で作成する必要があります
  • 製品数が多いので、何らかの理由でソフトウェアが停止した後、再起動できるようにしてほしい。
  • 毎日1回実行できます。
  • 新製品は毎日更新/追加されるため、ソフトウェアはそれに対応できる必要があります。可能であれば、Google アプリ エンジンと連携したい

この仕事のためのいくつかのアイデアとオープンソースコードを私に推薦してください。私は、scrapy.orgBeautifulsoupを見つけました。それらについてのアドバイスもお願いします。どちらがこの目的に適していますか?

4

3 に答える 3

1

lxml.htmlは、現在pythonに最適なhtmlパーサーです。ドキュメントをlxmlに解析し、xpathを使用して必要なデータを見つけます。

http://lxml.de/lxmlhtml.html#parsing-html

于 2012-12-21T05:53:53.820 に答える
1

定期的なスケジュールについては、AppEngineでcronジョブを探すことができます。

また、ScrapyはWebスクレイピングの優れたフレームワークです。使用できる他の代替手段は、美しいスープとリクエストAPI(認証とマルチスレッドダウンロードをサポート)を使用することです。

ただし、スクラップする前に、そのコマースWebサイトにAPIが提供されているかどうかを確認することをお勧めします。

于 2012-12-21T05:54:30.497 に答える
1

クローラーと、各クロール セッション間でデータを保持する方法が必要です。

クローラーについては、 をお勧めしscrapyます。ほとんどの目的で、自分でロールバックするよりもはるかに優れています。を使用する場合scrapy、Scrapy は を使用するため、BeautifulSoup は必要ありませんlxml。私の意見では、これが現在最高の Html パーサーです。

セッション間でデータを保持するには、クロールされたデータをデータベースに保存できます。私sqlalchemyはこの目的で使用することを好みますが、これは App Engine では機能しない可能性があります。sqlalchemy多くのデータベース エンジンをサポートしていますが、その中でも sqlite3 はセットアップが最も簡単です。

于 2012-12-21T06:53:59.857 に答える