2017-08-11 11 views
0

私は現在、htmlに複数の同じdivクラスが含まれているので、同じクラスを含むすべてのdivを出力するので、現在はpython beautifulsoupを使用して特定の行を出力しています。このPython beautifulsoup行ごとに印刷#

内容の例:

<div class=border>aaaa</a> 
<div class=border>example</a> 
<div class=border>runrunrun</a> 

OUTPUT:

<div class=border>aaaa</a> 
<div class=border>example</a> 
<div class=border>runrunrun</a> 

は今、私は唯一のdivクラスの境界線の#2をしたい、

私はクロム内のソースを表示する場合
<div class=border>example</a> 

今、それが可能であることは、数直線の内容を紹介しますので、1行目は

<div class=border>aaaa</a> 

&ライン2は

<div class=border>example</a> 

含まれています含まれています美しいスープを使用して番号の付いた行から出力するには?

+0

'soup.find_all( 'div'、{'class': 'border'})'を使い、必要な項目を選択します。 –

+0

それは手作業で行う必要があります。私はそれを自動的にやってほしいと思うのですが、同じ名前の同じ要素を100個持っています。同じ要求の100個で..私は100回の笑いをする必要があります。 – user3255841

+1

それは私が意味するものではありません。例: 'div '、{' class ':' border '})[1]' –

答えて

0

find_allはリストを返します。したがって、[1]でインデックスを付けて2番目の要素を取得できます。

from bs4 import BeautifulSoup 

html_doc = """<div class=border>aaaa</a> 
<div class=border>example</a> 
<div class=border>runrunrun</a>""" 

soup = BeautifulSoup(html_doc, 'html.parser') 

soup.find_all(class_="border")[1] 

戻り

<div class="border">example</div> 
+0

私はこのスクリプトをスクリプトに実装しようとしましたが、問題はhttps://stackoverflow.com/questions/45629540/python-urllib2-beautifulsoupです。 – user3255841

0

あなたがリストを持っている場合は、インデックスをしたいsoup.find_allによって生成された200個の要素が言う...リストがdiv_list呼び出された場合、あなただけのインデックスループを行うことができます( 1,4,7等...)

count = 1 
while True: 
    try: 
     print(div_list[count]) 
     count+=3 
    except: 
    # happens because of index error 
     break 

あるいは短い:

count = 1 
while count<= len(div_list): 
    print(div_list[count]) 
    count+=3