xpath: Как извлечь текст в теге "strong"? - PullRequest
0 голосов
/ 19 мая 2018

Я использую scrapy и мне нужно извлечь "Grey / Grey" с помощью селекторов xpath.Вот фрагмент HTML-кода:

<div class="Vehicle-Overview">
    <div class="Txt-YMM">
        2006 GMC Sierra 1500
    </div>
    <div class="Txt-Price">
        Price :                                     $8,499
    </div>

    <table width="100%" border="0" cellpadding="0" cellspacing="0" 
    class="Table-Specs">
        <tr>
            <td>
                <strong>2006 GMC Sierra 1500 Crew Cab 143.5 WB 4WD 
                SLE</strong>
                <strong class="text-right t-none"></strong>
            </td>
        </tr>
        <tr>
            <td>
                <strong>Gray / Gray</strong><br />
                <strong>209,123 
                            Miles

                                  / VIN: XXXXXXXXXX

            </td>
       </tr>
</table>

Я застрял, пытаясь извлечь "Grey / Grey" из тега "strong".Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Этот XPath будет работать в Scrapy, а также в консоли разработчика Google / Firefox:

//div[@class='Vehicle-Overview']/table[@class='Table-Specs']//tr[2]/td[1]/strong[1]/text()

Вы можете использовать этот код в своем пауке:

color = response.xpath("//div[@class='Vehicle-Overview']/table[@class='Table-Specs']//tr[2]/td[1]/strong[1]/text()").extract_first()
0 голосов
/ 19 мая 2018

Вы можете использовать это выражение XPath с вашим примером XML / HTML:

//div[@class='Vehicle-Overview']/table[@class='Table-Specs']/tr[2]/td[1]/strong[1]

Полный XPath с полным файлом, указанным ниже в отношении пространства имен "http://www.w3.org/1999/xhtml" может быть

/html/body/div/div/div[@class='content-bg']/div/div/div[@class='Vehicle-Overview']/table[@class='Table-Specs']/tr[2]/td[1]/strong[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...