PhotomjsはJSを描画した後のページ(Pythonコード)をキャプチャします。
1425 ワード
最近はあるサイトを登る必要がありますが、いかんせんページはJSでレンダリングして作られたので、普通の爬虫枠がよく分かりません。Photomjsで代理店を作りたいです。
PythonがPantomjsを呼び出して既成の第三者倉庫がないようです。(もしあったら、小編集を教えてください。)一周歩きましたが、pyspiderだけが既製のプランを提供しています。
簡単に試用してみましたが、pyspiderは初心者のために作った爬虫具のように感じられます。例えば、お母さんのように、細かいところまで行き届いていたり、おしゃべりしたりします。軽い小物はもっと人に好かれるべきです。私も私心を持って、私の一番好きなBeautiful Soupを持って一緒に使うことができます。PyQueryを勉強しなくてもいいです。Pythonの悪い体験も我慢しなくてもいいです。
だから、午後の時間をかけて、pyspiderの中でPhantomjsの代理を実現する部分を外して、独立して小さい爬虫類モジュールになりました。好きになってほしいです。
準備工作
もちろんPhotomjsが必要です。無駄話です。Linuxではsupervisordで守るのが一番いいです。キャプチャを維持しなければならない時はPhantomjsはずっとオープン状態です。
プロジェクトパスでのphantomjs_fetch.js起動:phantomjs phantomjs_fetch.js[port]
トラナド依存(トラナドのhttp clientモジュールを使用しています。)をインストールします。
呼び出しは超簡単です。
PythonがPantomjsを呼び出して既成の第三者倉庫がないようです。(もしあったら、小編集を教えてください。)一周歩きましたが、pyspiderだけが既製のプランを提供しています。
簡単に試用してみましたが、pyspiderは初心者のために作った爬虫具のように感じられます。例えば、お母さんのように、細かいところまで行き届いていたり、おしゃべりしたりします。軽い小物はもっと人に好かれるべきです。私も私心を持って、私の一番好きなBeautiful Soupを持って一緒に使うことができます。PyQueryを勉強しなくてもいいです。Pythonの悪い体験も我慢しなくてもいいです。
だから、午後の時間をかけて、pyspiderの中でPhantomjsの代理を実現する部分を外して、独立して小さい爬虫類モジュールになりました。好きになってほしいです。
準備工作
もちろんPhotomjsが必要です。無駄話です。Linuxではsupervisordで守るのが一番いいです。キャプチャを維持しなければならない時はPhantomjsはずっとオープン状態です。
プロジェクトパスでのphantomjs_fetch.js起動:phantomjs phantomjs_fetch.js[port]
トラナド依存(トラナドのhttp clientモジュールを使用しています。)をインストールします。
呼び出しは超簡単です。
from tornado_fetcher import Fetcher
#
>>> fetcher=Fetcher(
user_agent='phantomjs', # User-Agent
phantomjs_proxy='http://localhost:12306', # phantomjs
poolsize=10, # httpclient
async=False #
)
# Phantomjs , JS!
>>> fetcher.fetch(url)
# JS ( function !)
>>> fetcher.fetch(url, js_script='function(){setTimeout("window.scrollTo(0,100000)}", 1000)')
コードhttps://github.com/2shou/PhantomjsFetcher