xpath - не может извлечь пост пользователя - PullRequest
0 голосов
/ 21 сентября 2019

Я новичок в веб-сканировании, а также в xpath.Однако я пытаюсь сканировать следующий веб-сайт: https://sabobic.blogabet.com/

По сути, я хочу извлечь весь "feed_pick_analysis", т. Е. Весь текстовый контент, который принадлежит каждому сообщению.Я не могу использовать приведенное ниже утверждение, поскольку идентификатор изменяется динамически.

xpath('.//div[@class="feed-pick-title"]/div[@class="col-xs-12 _text-more feed-analysis"]/div[@id="feed_pick_analysis_27759116"]/p').extract()

Таким образом, я попытался использовать следующее утверждение:

xpath('.//div[@class="col-xs-12 _text-more feed-analysis"]/div[@contenteditable="false"]/p').extract()

Однако я даже не получаю никакихданные или тег, на которые ответил веб-сайт ... В чем моя ошибка?

[EDIT] Это HTML-код, над которым я работаю:

<div class="col-xs-12 _text-more  feed-analysis">
                <div contenteditable="false" id="feed_pick_analysis_27759116">
                    <p>Cant verify asians because nothing is working on this site.<br>
<br>
Game is available in IBC,ISN,SBO<br>
<br>
Game on neutral ground.<br>
<br>
No home advantage for Persipura and thats big minus for them today.<br>
<br>
So Persija will have many fans on the stands, supporting them, so thats more home game for Persija.<br>
<br>
They sign some quality players(Aryanto) and&nbsp; foreigners Xandao and spanish playmaker Tomas who seems to be best player in the league.<br>
<br>
Big value on Persija +0.25 and DNB.<br>
<br>
Fair odds Persija ML @2.10 and dnb @1.50. GL!</p>                </div>
                                <div class="col-xs-12 no-padding margin-top-10">
                    <small class="last-edit "><em>
                                                last edited: Wed, Sep 11th, 2019, 09:47                    </em></small>
                </div>
                            </div>

1 Ответ

1 голос
/ 21 сентября 2019

Чтобы сделать ваше выражение XPath более гибким, вы можете игнорировать число в последнем значении @id.Также обратите внимание, что в вашем выражении отсутствовал пробел между _text-more и feed-analysis - это должно быть _text-more feed-analysis.

.//div[@class="col-xs-12 _text-more  feed-analysis"]/div[contains(@id,"feed_pick_analysis")]/p

Я просто удалил первое div, поскольку оно не было частьюобразец HTML.Добавьте его еще раз, если выражение недостаточно конкретное.

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