2016-07-11 14 views
-1

Dawn.comからTribune.comからコメントを抽出したいと思います。Pythonを使用して異なるWebサイトを一般的にクロールする方法は?

私がコメントを抽出しています方法は、私は一般的にそれを行うことができますどのようにTribune.com

上のクラス=「コンテンツ」しながら、夜明けにクラス<div class="comment__body cf">をターゲットに、ありますか?つまり、 これらのウェブサイトには、これが1つのクラスで達成できる類似のパターンはありません。

ウェブサイトごとに別々のコードを書く必要がありますか?

答えて

0

Webサイトなどから一般的に必要なコンテンツを取得できるアルゴリズムを作成することはあまり簡単ではありません。あなたが言及したように、ここにはパターンはありません。いくつかの人は彼のサイトのコメントをそこに入れて、commentssite_commentsのようなクラス名を付けてもよいし、いくつかはここに置いて別のクラス名などを与えることができる。だから私はあなたがクラス名やウェブサイトのコンテンツをスクラップするために選択したいものを把握する必要があると思います。

あなたのケースでは、別のコードを書いたくない場合は、BeautifulSoup's regexの機能を使うことができると思います。

from bs4 import BeautifulSoup 
import requests 

site_urls = [first_site, second_site] 
for site in site_urls: 
    # this is just an example and in real life situations 
    # you should do some error checking 
    site_content = requests.get(site) 
    soup = BeautifulSoup(site_content, 'html5lib') 
    # this is the list of html tags with the current site's comments 
    # and you can do whatever you want with them 
    comments = soup.find_all(class_=re.compile("(comment)|(content)")) 

彼らは非常にいいdocumentation hereを持っている:あなたはこのような何かを行うことができる。例えば

。あなたはそれをチェックすべきです。

関連する問題