代码之家  ›  专栏  ›  技术社区  ›  Xiaowei Cheng

找不到td scrapyspider的xpath[已关闭]

  •  -4
  • Xiaowei Cheng  · 技术社区  · 7 年前

    我正在尝试创建一个蜘蛛来获取以下信息 10, 861, Wednesday td 接下来的许多 td公司 . 请看图片。非常感谢你!!!

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  0
  •   furas    7 年前

    如果你需要全部 td 然后使用 xpath('//td')

    import lxml.html
    
    html = '''
    <tr>
        <td>10</td>
        <td>$681</td>
        <td>Wednesday</td>
        <td>other</td>
        <td>data</td>
    </tr>
    '''
    
    soup = lxml.html.fromstring(html)
    all_td = soup.xpath('//td')
    
    for td in all_td:
        print(td.text)
    

    后果

    10
    $681
    Wednesday
    other
    data
    

    如果你只需要 td公司 然后获取全部,然后使用索引ie [2] ,或切片 [2:]

    for td in all_td[2:]:
        print(td.text)
    

    后果

    Wednesday
    other
    data
    

    您只能使用 [3] 直接在xpath中 xpath('//td[3]')

    import lxml.html
    
    html = '''
    <tr>
        <td>10</td>
        <td>$681</td>
        <td>Wednesday</td>
    </tr>
    '''
    
    soup = lxml.html.fromstring(html)
    date = soup.xpath('//td[3]/text()')[0]
    
    print(date)
    

    后果

    Wednesday