2017-12-20 13 views
0

私はPCのパーツを使用して、ウェブサイトからデータを取得しようとしている、と私はそのページ上の3500個の部分の上に持って、このリンクを持っている、問題は、私はきれいなリンクを使用する場合: https://www.komplett.no/search?q=pcPythonでWebスクレープ|限られたオブジェクト

をスクロールして新しい項目を読み込む前にそこにあるデータだけを取得します。

だから私はこのように編集リンクを取った: https://www.komplett.no/search?q=pc&hits=1000

今では1000以上の製品からすべての情報を取得しますが、私はスクリプトがうまく動作したくないので、それよりも行くことができない、私はドンエラーや何かを得ることはありません。 ところで、私はそれほど多くのデータではないので、物事を売りにするだけです。

私は通過したい商品の数に制限を書くことなく、穴のページを通過する方法が欲しいです。あなたが一番下までスクロールすると、ページに追加24個の新しい項目があるように見えます

:ここ

答えて

0

は、私はこのウェブこするタスクに近づくだろうかです。 pcでフィルタリングすると3919件の結果が表示されるので、PhantomJSのようなヘッドレスブラウザ/ JavaScriptエンジンを使用して、ページの下部までスクロールして新しい結果がロードされるまで数秒待ってプロセス数3919/24回。これが機能するために、あなたはPhantomJS

from selenium import webdriver 

driver = webdriver.PhantomJS() 
driver.get('https://www.komplett.no/search?q=pc') 
num_pages = int((3919/24) + 1) 
for _ in range(num_pages): 
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 
    time.sleep(3) 

html = driver.page_source.encode('utf-8') 

あなたがループを終了したら、あなたは現在、DOMツリーにロードされたのHTMLをキャプチャする.driver.page_source.encode('utf-8')を呼び出してから、あなたの残りの部分を行うことができますようにwebdriverをインストールする必要がありますそのデータでのWeb廃棄。

btwしばらく前に、私はPCを掻き集めるプロジェクトをしました。確認したい場合はhere's the linkです。

+0

https://www.komplett.no/search?q=pc&hits=1000 – briancaffey

+0

@EvenLauvrakよろしくお願いします。解決策があなたのために働いていれば、答えは受け入れられるとマークできますか?そうでなければ、あなたにもっと助けが必要かどうか教えてください。ありがとう! – briancaffey

+0

ええ、私はそれを受け入れることを確かめてください。あなたが何かもっと知っているかどうかは分かりません。 –

関連する問題