2017-11-20 10 views
-1

私は多くのhtmlを知らないと認めなければなりません。私は、Pythonを使ってオンラインニュースの記事からすべてのコメントを抽出しようとしています。私はPython BeautifulSoupを使ってみましたが、コメントはhtmlのソースコードではないようですが、inspect-elementにあります。たとえば、ここで確認できます。 http://www.dailymail.co.uk/sciencetech/article-5100519/Elon-Musk-says-Tesla-Roadster-special-option.html#commentsPythonを使ってニュース記事からコメントをすべてダウンロードするには?

ここにコードがあり、私は殴られました。

 import urllib.request as urllib2 
     from bs4 import BeautifulSoup 
     url = "http://www.dailymail.co.uk/sciencetech/article-5100519/Elon-Musk-says-Tesla-Roadster-special-option.html#comments" 
     page = urllib2.urlopen(url) 
     soup = BeautifulSoup(page, "html.parser") 

私はこの

name_box = soup.find('p', attrs={'class': 'comment-body comment-text'}) 

をしたいが、この情報は、ソース・コードではありません。

今後の進め方はありますか?

答えて

1

私はこのようなことは試みていませんが、 "ページソース"から直接取得したい場合は、ページが動的なので実際にページを移動するためにセレンのようなものが必要です。

また、コメントに興味がある場合は、dailymail.co.ukのapiを使用してコメントを得ることができます。

クエリの文字列「max = 1000」「& order」などに注意してください。また、APIに上限がある場合はすべてのコメントを見つけるためにサイドのmaxに沿って変数「offset」を使用する必要があります。最大値。

APIがどこに定義されているかわかりません。ウェブページを検索している間にブラウザが作成するネットワークリクエストを表示することができます。

このページのコメントデータは、http://www.dailymail.co.uk/reader-comments/p/asset/readcomments/5100519?max=1000&order=desc&rcCache=shoutからJSON形式で取得できます。すべての記事は、そのURLに "5101863"のようなものがあるようですが、あなたがコメントしたい新しいストーリーごとにスワップすることができます。

0

ありがとうFredMan。私はこのAPIについて知らなかった。記事のIDだけを与える必要があると思われ、記事のコメントができます。これは私が探していた解決策でした。

関連する問題