1

私の質問は、ここで尋ねられたものと似ています: https://stackoverflow.com/questions/14599485/news-website-comment-analysis ニュース記事からコメントを抽出しようとしています。たとえば、ここにニュースの URL があります: http://www.cnn.com/2013/09/24/politics/un-obama-foreign-policy/ Python で BeautifulSoup を使用してコメントを抽出しようとしています。ただし、コメント セクションは iframe 内に埋め込まれているか、javascript を介して読み込まれているようです。firebug を使用してソースを表示しても、コメント セクションのソースは明らかになりません。ただし、ブラウザのソース表示機能を使用してコメントのソースを明示的に表示することはできます。特にコメントがニュース Web ページ内に埋め込まれた別の URL からのものである場合、コメントを抽出するにはどうすればよいですか?

これはそれほど多くはありませんが、これまで私が行ってきたことです:

    import urllib2
    from bs4 import BeautifulSoup

    opener = urllib2.build_opener()


    url = ('http://www.cnn.com/2013/08/28/health/stem-cell-brain/index.html')


urlContent = opener.open(url).read()
soup = BeautifulSoup(urlContent)
title = soup.title.text

print title
body = soup.findAll('body')
outfile = open("brain.txt","w+")
for i in body:
    i=i.text.encode('ascii','ignore')
    outfile.write(i +'\n')

私が何をする必要があるか、またはそれをどのように行うかについての助けをいただければ幸いです。

4

1 に答える 1

0

その中にiframe。でフレームを確認しid="dsq2"ます。

現在、コメントのある実際のサイトiframeへのリンクであるsrcattr があります。

美しいスープのように: css_soup.select("#dsq2")src 属性から URL を取得します。コメントのみのページに移動します。

実際のコメントを取得するには、src からページを取得した後、次の css セレクターを使用できます。.post-message p

さらにコメントを読み込みたい場合は、[その他のコメント] ボタンをクリックすると、次のように送信されます。

http://disqus.com/api/3.0/threads/listPostsThreaded?limit=50&thread=1660715220&forum=cnn&order=popular&cursor=2%3A0%3A0&api_key=E8Uh5l5fHZ6gD8U3KycjAIAk46f68Zw7C6eW8WSjZvCLXebZ7p0r1yrYDrLilk2F

于 2013-09-28T18:55:08.860 に答える