python
  • xpath
  • web-scraping
  • scrapy
  • 2016-05-05 2 views 1 likes 
    1

    Ich möchte alle Elemente auf this page extrahieren, aber es extrahiert nur das erste Element. Wie sollte der xpath Ausdruck sein?So extrahieren Sie alle Elemente in einem bestimmten Beispiel mit scrapy

    def parse(self, response): 
        for sel in response.xpath("//*[@id='liste']"):   
         lianjia = lianjiaItem() 
         lianjia['name_of_community'] = sel.xpath("div[1]/div[1]/h2/a/text()").extract() 
         lianjia['Antragsteller'] = sel.xpath("div[1]/div[2]/div[1]/span[2]/text()").extract() 
    
         yield lianjia 
    
    +0

    ‚Antragsteller‘ in diesem Fall ist der ‚Sprecher‘ wie ‚Dietrich Stoyan‘ oder 'Günter Gauglitz' auf dieser Seite. Aber wie muss der XPath-Ausdruck aussehen? Kannst du es schreiben – user3786117

    Antwort

    0

    Das ist, weil es mit id equals 'liste' nur ein Element ist. Sie müssen sich durch Elemente iterieren, die stattdessen einzelne Zeile von Daten darstellt, und extrahieren alle benötigten Informationen aus jeder Zeile, zum Beispiel:

    for sel in response.xpath("//*[@id='liste']/div[contains(@class,'eintrag')]"):   
        lianjia = lianjiaItem() 
        lianjia['name_of_community'] = sel.xpath("div[@class='results']/h2/a/text()").extract() 
        lianjia['Antragsteller'] = sel.xpath(".//div[span='Sprecher']/span[2]/text()").extract() 
    
        yield lianjia 
    
    +0

    'Antragsteller' ist in diesem Fall der 'Sprecher' wie 'Dietrich Stoyan' oder 'Günter Gauglitz' auf dieser Seite. Aber wie muss der XPath-Ausdruck aussehen? Können Sie es schreiben – user3786117

    +0

    Aktualisiert die Antwort mit dem 2. XPath ... – har07

    +0

    Thx. Was ist der xpath Ausdruck für die Werte von Fachkollegium, DFG-Verfahren, Förderung und der Beschreibung? – user3786117

     Verwandte Themen

    • Keine verwandten Themen^_^