私は現在、美味しいスープでレビューサイトをクロールしています。レビューウェブをこする質問
レビューページには、異なる学生からのレビューが含まれています。 と各生徒は、いくつかの側面で学校を評価します。
ので、ページの構造は、一般的に次のようになります。
学生A - タイトルA:
- 様相1
- 側面に向けてコメント1
- aspect2アスペクト2のコミット
- aspe
- 縦横2
- の様相1
- aspect2 commetに向けて側面1件の
- コメント:タイトルB - 縦横3
学生BのCT3
- commetアスペクト4
- com
のみ特定の側面についてのコメントをした一部の学生請求項4に会いました。彼らがコメントしていない側面はウェブサイトには表示されません。
コード内の各レビュー
<!-- mod-reviewTop -->
<div class="mod-reviewTop">
<!-- mod-reviewTop-inner -->
<div class="mod-reviewTop-inner">
<dl>
<dd>
<div class="mod-reviewTitle" itemprop="summary">
title 1 : It was ok.
</div>
</dd>
</dl>
<!-- /mod-reviewItem -->
</div>
<!-- /mod-reviewTop -->
<!-- mod-reviewBottom -->
<div class="mod-reviewBottom">
<!-- mod-reviewList-list -->
<div class="mod-reviewList-list js-review-detail" itemprop="description">
<!-- js-mod-reviewList-list -->
<div class="js-mod-reviewList-list">
<ul>
<li>
<div class="mod-reviewTitle3">
Total Evaluation
</div>
<div class="mod-reviewList-txt">
We can freely choose the course we want, and thus a lot of different knowledge can be learned.
</div>
</li>
<li>
<div class="mod-reviewTitle3">
Course
</div>
<div class="mod-reviewList-txt">
the courses are good.
</div>
</li>
<li>
<div class="mod-reviewTitle3">
Lab
</div>
<div class="mod-reviewList-txt">
we don’t join lab in the first 2 year.
</div>
</li>
</ul>
</div>
<!-- /js-mod-reviewList-list -->
</div>
<!-- /mod-reviewList-list -->
</div>
<!-- /mod-reviewBottom -->
あなたは側面のタイトルが異なっていても、それらはすべて「のdivクラス= 『MOD-reviewTitle3』」
で始まり、そしてことがわかります コメントはすべてで始まります 'div class = "mod-reviewList-txt"'。 私の質問は、データセットにこれらの情報を格納するための良いコードを書くにはどうすればいいのですか?
|タイトル|アスペクト1コメント| aspect2コメント
私はプログラミングの問題としてこれを考えて、私は
datatest = soup.find_all("div", {"class":"mod-reviewTop"})
datatest1 = soup.find_all("div", {"class":"mod-reviewBottom"})
for item in datatest:
a = item.select('.mod-reviewTitle')
c = item.select('.mod-reviewTitle3')
d = item.select('.mod-reviewList-txt')
g = item.select('.js-mod-reviewList-list')
f= item.select('.mod-reviewItem')
for i in range(len(a)):
f1= f[i].text[7]
f2= f[i].text[17]
f3= f[i].text[26]
f4= f[i].text[37]
f5= f[i].text[46]
f6= f[i].text[55]
f7= f[i].text[63]
print a[i].text
print f1, f2, f3, f4, f5, f6, f7
for item in datatest1:
for k in range(len(g)):
print g[k].text
print e[k].text
print k
を以下のコードが、アスペクトコメントを試してみました非常に素晴らしい
良い.. 私はループを試してきたが、
あなたが親切に私の参照を与えることができるか、構造が論理的にどのように機能するか、plsが親切に私にコメントを残すならば。おかげ
ここでは、すべての記事を書き留めていない問題についてのみ説明してください。あなたの質問は何ですか?データセットに情報を格納するための良いコードを書くには?何が良いコードですか?とにかく、あなたはパンダを使ってデータセットにデータを格納できます。xlwtを使用してExcelファイルに書き込むことも、独自の区切り文字でテキストファイルに書き込むこともできます。 – mid