Только href = "#", нет onclick (), как мне загрузить это в скрипт? - PullRequest
0 голосов
/ 15 ноября 2018

Я нахожусь в процессе написания скребка для статей на сайте https://www.welt.de. Я также хотел бы включить комментарии. Однако при загрузке страницы не все комментарии загружаются автоматически. Вместо этого нужно нажать на ссылку, чтобы загрузить больше комментариев, пока в какой-то момент все они не загрузятся.

Например: https://www.welt.de/finanzen/immobilien/article183878020/Bundesbank-sieht-im-Immobilienboom-ein-Stabilitaetsrisiko.html

При прокрутке вниз появляется поверхность «MEHR KOMMENTARE ANZEIGEN» (в переводе с немецкого означает «показать больше комментариев»).

Эта ссылка выглядит так:

<div href="#" style="text-align: center; height: 44px; cursor: pointer;">
<a style="font-size: 0.6875rem; font-family: ffmark, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-weight: 800; color: rgb(0, 57, 91); line-height: 5;">
<span style="font-size: 0.6875rem; font-family: ffmark, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-weight: 500; margin-right: 0.625rem; text-align: right; color: rgb(120, 120, 120);">
MEHR KOMMENTARE ANZEIGEN
<span style="width: 14px; height: 8px; margin: 0px 0px 0px 0.625rem; padding-top: 0px; display: inline-block; vertical-align: initial;">
<svg viewBox="0 0 15 9" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g transform="translate(-608.000000, -4318.000000)" fill="#787878">
<polygon transform="translate(615.205882, 4322.852941) rotate(-90.000000) translate(-615.205882, -4322.852941) " points="618.264706 4315.79412 611.205882 4322.85353 618.264706 4329.91176 619.205882 4328.97059 613.088824 4322.85353 619.205882 4316.73529">
</polygon>
</g>
</g>
</svg>
</span>
</span>
</a>
</div>

Однако я не знаю, как загрузить эту ссылку в сценарии?

Я понимаю, что href="#" используется, когда ссылка обрабатывается javascript, и это плохой стиль, поскольку он используется только для изменения внешнего вида мыши, для которого есть другие методы.

Но где метод onClick ()? Какая-то глупость здесь ...

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Что касается поиска обработчика щелчков:

Если вы осмотрите этот элемент, вы увидите, что у него есть обработчик событий щелчков, вызывающий что-то в communityweb.js:

enter image description here

Это почти наверняка связано с javascript где-то еще (например, document.getElementById('something').addEventListener("click", function(){ ... } );)

Если вы хотите, вы можете выполнить его и увидеть код, который он вызывает (обязательноиспользуйте функцию «довольно печати», так как она минимизирована):

enter image description here

Оттуда становится все сложнее, но если вы достаточно полны решимости, вы можете сделать шагв отладчике и посмотрим, что называется.

0 голосов
/ 15 ноября 2018

Щелчок, который показывает комментарии дважды, дает мне следующие URL

https://api-co.la.welt.de/api/comments?document-id=183878020&created-cursor=2018-11-15T13:52:41.714&sort=NEWEST
https://api-co.la.welt.de/api/comments?document-id=183878020&created-cursor=2018-11-15T12:23:26.896&sort=NEWEST

, который возвращает комментарии.Так что просто используйте свой почтовый идентификатор и продолжайте возиться с созданным курсором, пока не получите все комментарии?

РЕДАКТИРОВАТЬ: удаление параметра создателя курсора должно дать вам все комментарии

https://api-co.la.welt.de/api/comments?document-id=183878020

РЕДАКТИРОВАТЬ 2:

Как кто-то еще упомянул, это не может быть хорошей идеей без предварительного обращения к владельцу сайта.

...