2017-09-24 9 views
0

2番目の行は非常に長く、私は文字列の先頭にある情報だけを必要としているからです。私はそのまま他の行を掻きたい。したがって、私のコードは次のようになります:forループ(Python/BeautifulSoup)で特定のテーブル行の文字を制限するには

table = soup.find(id="table3") 
    table_rows = table.findAll('tr') 

    for tr in table_rows: 
     td = tr.findAll('td') 
     row = [i.text.strip() for i in td] 
     print(row) 

2番目の行だけをターゲットにすることはできますか?出力は、具体的のように見える

:だから私は唯一Computer price for Apple Inc. 一部をGRAPしたい

["Computer price for Apple Inc. ,\n\n\nType\nForward\n\n\n\n\n\n\nBack\n\n\n\n\nDie\n\r\n... 

、多分ちょうどヒューリスティックとして文字の制限を使用するよりも良い方法があります。前にすべてをつかむように指定することは可能ですか?,\n\n\n

答えて

0

分割機能を使用してテキスト行を区切ることができます。私はセパレータとして",\n\n\n"を使用しました:

>>> row = 'Computer price for Apple Inc. ,\n\n\nType\nForward\n\n\n\n\n\n\nBack\n\n\n\n\nDie\n\r\n' 
>>> row.split(sep=",\n\n\n", maxsplit=1)[0] 
'Computer price for Apple Inc. ,' 
+0

ありがとう!複数のページを掻き集めるときに、どのページを別の会社の別のコンピュータの価格で使用するかは、どのように書き出すべきですか。 – Jason

+0

よろしくお願いします。ありがとう! – Jason

関連する問題