2017-08-17 8 views

答えて

0

セレンで与えられたクリックオプションを使用すると、もっと多くのタグやクラスを見つけてクリックすることができます。すぐにクリックすると表示されます。あなたが必要とするコンテンツをスクラップする必要があることを示しています。

+0

bs4のクリックオプションとその使い方について教えてください。 – user5444075

+0

@ user5444075私の間違い私はセレンについて話していた... bs4はクリックをサポートしていない。あなたはあなたのコードやあなたがスクラップしようとしているウェブサイトを投稿して誰かが助けることができるようにしてください – Shaamuji

+0

私はリンクを取得しようとしましたが、 "read more"を指していたのはonclick属性のタグです。レビューを拡大するためにそれを使用することはできませんか? – user5444075

0

ここでは、すべてのレビューの全文を取得する方法のデモです。それを実行し、結果を得る。実行後しばらく待ちます。これはどのリンクをクリックしなくてもできることです。

import requests ; from bs4 import BeautifulSoup 

soup = BeautifulSoup(requests.get("http://www.mouthshut.com/product-reviews/Lakeside-Chalet-Mumbai-reviews-925017044").text, "html.parser") 
for title in soup.select("a[id^=ctl00_ctl00_ContentPlaceHolderFooter_ContentPlaceHolderBody_rptreviews_]"): 
    items = title.get('href') 
    if items: 
     broth = BeautifulSoup(requests.get(items).text, "html.parser") 
     for item in broth.select("div.user-review p.lnhgt"): 
      print(item.text) 
+0

さて、私はこのコードを試してみましたので、最初はウェブサイトをリクエストしてから、 'read more'の代わりにレビューのタイトルのリンクを検索し、リンクをリクエストして 'href'それをブイヨンで保管し、最後にレビューを検索し、その段落をループする(私が間違っていれば私を訂正する)。私を悩ませている2つのこと、タイトルを印刷するときの1つ私は除外された(なぜですか?)、どこから "div.user-review p"を取得したのでしょうか?(私は、そのページのどこにあるのでしょうか?) – user5444075

+0

["div.user-review p"]が見つかる下のページの要素を調べてください。http://www.mouthshut.com/review/Lakeside-Chalet-Mumbai-review-mlmqulpsq btw私は「平和、静かな、そして何のビュー!」から抽出されたリンクを使って二度目のリクエストをしました。 – SIM

+0

また、私はあなたのコードを試して、レビューが2回印刷されている理由を見つけることができませんでした。私はまた、そのページを検査し、冗長性を見つけられなかった。これで私を助けてくれますか? – user5444075

関連する問題