2017-11-28 8 views
0

私はシンプルなWebスクレーパー(ここで新しいpythonプログラマー - 簡単な質問を許してください)を構築しようとしています。
ここ は私のコードです:なしwebscraperコード

import urllib2 
from bs4 import BeautifulSoup 

comments_url = 'https://somewebsite.com' 

comments_page = urllib2.urlopen(comments_url) 

raw_data = BeautifulSoup(comments_page, 'html.parser') 
data = raw_data.find('tr',attrs={'data-ix-row': 'data-ix-bug'}) 
print(type(data))` 

参考のために、ここで私は、ウェブページのうち、解析しようとしているクラスは、次のとおりです。 html_grab_reference page

私はこのコードを実行すると、私は次のエラーを取得します:

<type 'NoneType'> 

私は質問したデータのどこかでミスを犯しました(私は思う)、それは何も戻っていません。
私が間違っていたことに関するアイデアはありますか?

+0

。あなたが興味を持っているどのような値のためのdata-ix-bugをフィルタリング(そして、あなたはおそらく、find_allしたいと思います) ascriptを使用するとurllib2とbeautifulsoupを使用して構文解析することはできません –

+0

探していたものを見つけられませんでしたので

そして

答えて

0

これは見つかりませんでした。あなたの属性はお互いに割り当てられていません。あなたはクラスと普通の属性を持っています。

プラス、属性は(おそらくJavascriptをすることによって、そのurllib2のはHTMLにそれを表示されません)生成された数字のように見える

それが仕事をしている場合は、少なくともこの

attrs={'class': 'data-ix-row'} 
が必要になりますbeautifulsoupがあなたのウェブサイトはJAVによって生成された場合は、
+0

ありがとうございますcricket_007、私はあなたの例では、辞書としてattrsを使用し、複数のJSクラスを呼び出すことができますか? –

+0

この回答がうまくいく場合は、投稿の横にあるチェックマークを使用して回答を受け入れることができます。 –

+1

これは、実際にそのページで生成される可能性のあるJavaScriptコードを解析できるモジュールが必要と思われるので、 –

関連する問題