2017-01-23 10 views
-1

私は、PythonとBeautifulsoup4でテレビ局のウェブサイトを削りたいと思っています。美味しいスープでデータを検索して取得する

私が読んで、サイト全体のURLは次のとおりです示す季節の数と、各シーズンの短い説明:コマンドhtml = soup.find_all("div", class_="extra mark")http://www.tve.es/alacarta/videos/aguila-roja/

私が興味のある情報を含む段落を抽出します。元のページのHTML内

この部分は次のようになります。

  1. 私は季節の数を決定するにはどうすればよいですか? <p class="ladillo">オブジェクトの番号(長さ)を検索するか、または<span>Season xy</span>の番号を検索する必要があります。

  2. どのように各シーズンの説明/要約を抽出できますか?特に、最初の2つのシーズンには<span style>のようなタグが含まれていますが、残りのシーズンにはこのタグはありません。さらに全体<p>年代は(今まで私は正規表現で働いていたと私は公式BS-マニュアルに私の問題に対処する情報を見つけることができませんでした)...

私を混乱させる。

<div class="extra mark"> 
    <p></p> 
    <p> 
     "Introduction with text" 
    </p> 
    <p> 
     <span style=light-height: 1.6em;"> 
     "Another words for introduction" 
     </span> 
    </p> 
    <p> 
     "Final part of introduction" 
    </p> 
    <p> 
     <strong style="color: rgb(51, 102, 255); line-heigt: 20.8px;"> 
     "This content is not available in the United States and Canada" 
     </strong> 
    </p> 
    <p></p> 
    <h3> 
     <p class="ladillo"> 
     <span>Season 1</span> 
     </p> 
    </h3> 
    <p></p> 
    <p> 
     <span style> 
     "Description of season 1" 
     </span> 
    </p> 
    <p></p> 
    <p></p> 
    <h3> 
     <p class="ladillo"> 
     <span>Season 2</span> 
     </p> 
    </h3> 
    <p></p> 
    <p> 
     <span style> 
     "Description of season2" 
     <span> 
    </p> 
    <p></p> 
    <p></p> 
    <h3> 
     <p class="ladillo"> 
     <span>Season 3</span> 
     </p> 
    </h3> 
    <p></p> 
    <p> 
     "Description of season 3" 
    </p> 
    <p></p> 
    <h3> 
     <p class="ladillo"> 
     <span>Season 4</span> 
     </p> 
    </h3> 
    <p></p> 
    <p> 
     "Description of season 4" 
    </p> 
    <p></p> 
    <div class="MenuBlind"> 
     .... 
    </div> 
</div> 

答えて

1

ここに1つの方法です。あなたが持っているものをPythonの名前divに保存してください。次に、このコードにfirstLaudilloと呼ばれるクラスlaudilloの最初の出現を見つけます。次に、それぞれの項目を調べる次の兄弟アイテムを繰り返します。空の段落と無関係な段落は無視してください。 1から始まり、別のクラスlaudilloの各出現時に増加する。等々。あなたは、これらのアイテムの内容についてBeautifulSoupを調べる方法についてはほとんど学ぶ必要がないかもしれません。

>>> import requests 
>>> from bs4 import BeautifulSoup 
>>> page = requests.get('http://www.tve.es/alacarta/videos/aguila-roja/') 
>>> soup = BeautifulSoup(page.text,'lxml') 
>>> div = soup.find_all("div", class_="extra mark") 
>>> div 
[<div class="extra mark"> 
<p></p><p>Esa determinación le llevará a vivir una doble vida, maestro de día y héroe secreto al caer la noche: buscará sin descanso a los culpables de la muerte de su esposa mientras lucha contra el terror y la opresión impuestas por un malvado comisario, al servicio de una misteriosa logia secreta que conspira para derrocar al Rey. </p> 
<p><span style="line-height: 1.6em;">Hombre de modernos ideales a pesar del oscurantismo de la época que le ha tocado vivir, Gonzalo de Montalvo es un personaje atrapado en su triple condición de hombre, padre y héroe. Así, sufrirá por la muerte de su esposa mientras dos mujeres luchan por su amor, intentará ganarse la confianza y el aprecio de su único hijo y sufrirá la implacable persecución del comisario en su condición de Aguila Roja. </span></p> 
<p>Nadie, excepto su fiel criado Sátur y un misterioso fraile, conocen la verdadera identidad de Águila Roja, ni siquiera su único hijo, que siente una profunda admiración por el misterioso personaje, ajeno por completo al hecho de que viven bajo el mismo techo. El contrapunto humorístico, pragmático y pícaro a la noble y desinteresada actuación de Águila Roja lo pondrá su criado Sátur, un buscavidas hecho a sí mismo.</p> 
<p><strong style="color: rgb(51, 102, 255); line-height: 20.8px;">Este contenido no está disponible en Estados Unidos y Canadá por restricciones de derechos. </strong></p> 
<h3></h3><**p class="ladillo"**><span>Temporada 1</span></p> 
<p></p><p><span style="">El aparentemente apacible maestro Gonzalo de Montalvo, decide lanzarse a la acción tras el asesinato de su esposa en extrañas circunstancias. Esa determinació ... 

<span class="reduce" id="menosinfoprog"> 
         Ocultar información sobre "Águila Roja" 
       </span> 
</div> 
</div>] 
>>> firstLadillo = div[0].find('p',attrs={'class', 'ladillo'}) 
>>> for count, sib in enumerate(firstLadillo.fetchNextSiblings()): 
...  sib 
...  if count>10: 
...   break 
...  
<p></p> 
<p><span style="">El aparentemente apacible maestro Gonzalo de Montalvo, decide lanzarse a la acción tras el asesinato de su esposa en extrañas circunstancias. Esa determinación le llevará a vivir una doble vida, maestro de día y héroe secreto al caer la noche: buscará sin descanso a los culpables de la muerte de su esposa mientras lucha contra el terror y la opresión impuestas por un malvado comisario, al servicio de una misteriosa logia secreta que conspira para derrocar al Rey. Nadie, excepto su fiel criado Sátur y un misterioso fraile, conocen la verdadera identidad de Águila Roja.</span></p> 
<p></p> 
<h3></h3> 
<p class="ladillo"><span>Temporada 2</span></p> 
<p></p> 
<p><span style="">Desmantelada la conspiración para matar al Rey, Águila Roja se enfrentará a una misión que le obsesiona: el descubrimiento de sus verdaderos orígenes, tras haber conocido que El Comisario, a quien estaba a punto de matar en venganza por el asesinato de su esposa, es en realidad su hermano. Varias pistas le permitirán empezar a tirar de un hilo que pondrá en peligro, aún más si cabe, su vida y la de quienes le rodean.</span></p> 
<p></p> 
<h3></h3> 
<p class="ladillo"><span>Temporada 3</span></p> 
<p></p> 
<p>El ambicioso Cardenal Mendoza maneja la información que posee sobre el pasado sentimental del Rey con Laura de Montignac para chantajearlo con el objetivo de conseguir el apoyo de la Corona española en su ascenso al Papado. Por su parte, la Monarquía utilizará las habilidades e influencias de la Marquesa. El Rey le encargará una truculenta misión para vengarse del Cardenal Mendoza, y la propia Reina, que es consciente de que Lucrecia es la amante del monarca, le confía la vida del heredero al trono. Margarita se debate entre varios amoresa los que ahora podría sumarse el héroe enmascarado. Sátur, el fiel escudero de Águila Roja, decide abandonar a la familiaque le ha acogido durante tanto tiempo para ir en busca de la suya propia.</p> 
>>> 
+0

ありがとう、ビル! –

+0

あなたは大歓迎です、ティム。 –

関連する問題