2016-04-09 11 views
1

Ich habe HTML-Quelle alsSelen WebDriver Link Extraktion

<ul class="content"> 
    <li class=""> 
    <div class="profile-card"> 
     <div class="content"> 
     <a href="https://www.linkedin.com/in/ouafae-ezzine-894b113"> 
     Ouafae Ezzine 
     </a> 
     <p class="headline"> 
     Organise vos evenements professionnels &amp; personnels 
     </p> 
     <dl class="basic"> 
     <dt> 
     Location 
     </dt> 
     <dd> 
     France 
     </dd> 
     <dt> 
     Industry 
     </dt> 
     </dl> 
     <table class="expanded hide-mobile"> 
     <tbody> 
     <tr> 
      <th> 
      Current 
      </th> 
      <td> 
      Responsable at Blue Med Events 
      </td> 
     </tr> 
     <tr> 
      <th> 
      Past 
      </th> 
      <td> 
      Administrateur achats at Pfizer 
      </td> 
     </tr> 
     <tr> 
      <th> 
      Education 
      </th> 
      <td> 
      Universite d'Evry Val d'Essonne 
      </td> 
     </tr> 
     <tr> 
      <th> 
      Summary 
      </th> 
      <td> 
      Riche d'une experience de plus de 25 ans dans le domaine de l'organisation evenementielle, je mets mon expertise... 
      </td> 
     </tr> 
     </tbody> 
     </table> 
     </div> 
    </div> 
    </li> 
    <li class=""> 
    <div class="profile-card"> 
     <div class="content"> 
     <h3> 
     <a href="https://www.linkedin.com/in/ouafae-ezzine-892855b6"> 
     Ouafae Ezzine 
     </a> 
     </h3> 
     <p class="headline"> 
     Gerante 
     </p> 
     <dl class="basic"> 
     <dt> 
     Location 
     </dt> 
     <dd> 
     France 
     </dd> 
     <dt> 
     Industry 
     </dt> 
     <dd> 
     Events Services 
     </dd> 
     </dl> 
     <table class="expanded hide-mobile"> 
     <tbody> 
     <tr> 
      <th> 
      Current 
      </th> 
      <td> 
      Gerante 
      </td> 
     </tr> 
     </tbody> 
     </table> 
     </div> 
    </div> 
    </li> 
    </ul> 

ich ein Python-Code geschrieben haben, die, wenn sie eine bestimmte Zeichenfolge existiert in der Seite oder nicht finden werden.

Ich versuche, Logik zu schreiben, um die einem bestimmten Profil zugeordneten Ankerverknüpfungen zu extrahieren, wenn die Zeichenfolge diesem Profil (Anker-Tag) zugeordnet ist.

mein Python snnipet:

from selenium import webdriver 

driver = webdriver.Firefox() 
driver.get('file:///nfs/users/lpediredla/Documents/linkedin/Top2profLinkedIn.html') 

ids = driver.find_elements_by_xpath("//*[contains(text(), 'Organise vos evenements professionnels')]") 

#don't know how to associate the element with the profile 
#please help with the logic here. 


driver.close() 

Ich bin an diesem Punkt schlage versucht, das Element mit dem Profil Eimer assoziieren sie sitzen in

Jede Hilfe ist sehr geschätzt..

+0

Ich weiß nicht, ob ich Ihre Frage vollständig verstehe, aber hier ist Code, der die gefundenen 'ids 'durchläuft und dann für eine Übereinstimmung nach der von Ihnen gesuchten Zeichenfolge ausgibt:' for i in IDs: wenn 'Zeichenfolge, die Sie suchen in i.text: print i.text' – n1c9

+0

Ich habe gerade getestet, ob das Programm das Element sehen kann. –

Antwort

1

Was Sie wollen, ist preceding-sibling::a die Anker Tags vor dem p-Tags zu finden, die Text enthalten'Organise vos evenements professionnels':

"//p[contains(text(), 'Organise vos evenements professionnels')]/preceding-sibling::a" 

Ihre HTML verwenden:

In [11]: from lxml.html import fromstring 

In [12]: xml = fromstring(html) 

In [13]: print(xml.xpath("//p[contains(text(), 'Organise vos evenements professionnels')]/preceding-sibling::a")) 
[<Element a at 0x7f5cae670188>] 

In [14]: print(xml.xpath("//p[contains(text(), 'Organise vos evenements professionnels')]/preceding-sibling::a//text()")) 
['\n   Ouafae Ezzine\n  '] 

Wenn Sie Willst du eine case insensitive Übereinstimmung haben, können Sie translate:

+0

Ich habe ein leeres Array –

+0

@AnilPediredla, habe ich Ihre Quelle verwendet und ich habe das ein Tag, was ist die URL? Suchst du auch nach Linkedin URLs? –

+0

Ihr Code funktioniert super !! können Sie mir helfen, wie Groß-und Kleinschreibung beachten String in HTML-Text? –