Нахождение недостающего HTML - PullRequest
0 голосов
/ 14 декабря 2018

Когда я смотрю HTML-код в своем браузере, я вижу следующее (минус звезды в строках 3 и 4).Но когда я очищаю данные и печатаю html в оболочке scrapy, строки *** out отсутствуют.Почему это?Кроме того, как бы я получить текст для colspan = "2"?Благодарю.Я пробовал следующее:

response.xpath('//table[@id="playertable_0"]/tbody/tr/th[@colspan="2"]//text()')

Фактический URL-адрес, который я использую: http://games.espn.com/ffl/leaders?&scoringPeriodId=1&seasonId=2018. Чтобы получить HTML ниже, я запускаю этот код:

table = response.xpath('//table[@id="playertable_0"]')
table.css('tr.playerTableBgRowHead.tableHead.playertableSectionHeader').extract()


    <tr class="playerTableBgRowHead tableHead playertableSectionHeader">
        <th colspan="1" class="playertableSectionHeaderFirst">OFFENSIVE PLAYERS</th>
        ***<td class="sectionLeadingSpacer"></td>***
        ***<th colspan = "2" > WK 1 </th> == $0***
        <td class="sectionLeadingSpacer"></td>
        <th colspan="4">PASSING</th>
        <td class="sectionLeadingSpacer"></td>
        <th colspan="3">RUSHING</th>
        <td class="sectionLeadingSpacer"></td>
        <th colspan="4">RECEIVING</th>
        <td class="sectionLeadingSpacer"></td>
        <th colspan="3">MISC</th><td class="sectionLeadingSpacer">
        </td><th colspan="1">TOTAL</th>
    </tr>'

1 Ответ

0 голосов
/ 14 декабря 2018

Это не теги <tr> или <th>, которые вводятся через JS.Это <tbody>.Таким образом, работает следующий xpath.

response.xpath('//table[@id="playertable_0"]//tr/th[@colspan="2"]//text()')

Просмотр источника из браузера покажет вам, что внедрено из JS, а что возвращается в виде HTML.

см. view-source:http://games.espn.com/ffl/leaders?&scoringPeriodId=1&seasonId=2018 в хром.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...