0

このページhttps://www.stickyguide.com/dispensaries/leaf-lab/をスクレイピーを使用してクロールしようとしています。このページから長い間レビューをクロールできません。Ajax や Javascript を扱った経験のある方がいらっしゃいましたら、ご意見をお聞かせください。

1) レビュー用の Xpath を簡単に取得できます。

response.xpath('//*[@id="reviews_section"]/div')    

ただし、ページのレビュー部分は JavaScript によって読み込まれると思います。このページをクロールするたびに、次の Xpath の値を取得しました。

<Selector xpath='//*[@id="reviews_section"]/div' data=u'<div id="loader">\n<div class="loader"></'>

javascriptがロードされる前にscrapyがクロールすることを保証するために使用できる方法があれば? ネットで方法を調べたところ、seleniumパッケージを使えば解決するかもしれませんが、効率的ではないかもしれません。

2) 私が遭遇したもう 1 つの問題は、薬局からのデータのみをクロールしたいということです。レビュー モジュールの横にあるドロップダウン メニューから [表示: 診療所のみ] オプションを選択する必要があります。HTML コードを調べたところ、Ajax オブジェクトであることがわかりました。

<select id="sort" name="sort" onchange="new Ajax.Request('/update_reviews_section/2487', {asynchronous:true, evalScripts:true, parameters:'sort_by=' + $('sort').value + '&amp;authenticity_token=' + encodeURIComponent('69BgJpnnj0tx/0lYwjIk75iFj0/l2R9EDj1No1FJX9o=')})">

オプション「VIEW: Dispensary Only」の内容をリクエストする方法があれば教えてください。私はstackoverflowで多くの方法を試しましたが、まだ解決できません。

前もって感謝します

4

1 に答える 1