Я новичок в Python и сканировании в Интернете. Я намерен очистить ссылки в главных историях website. Мне сказали посмотреть на его запросы Ajax и отправить похожие. Проблема в том, что все запросы для ссылок одинаковы: http://www.marketwatch.com/newsviewer/mktwheadlines Вопрос будет в том, как извлекать ссылки из бесконечного окна прокрутки. Я использую красивый суп, но я думаю, что это не подходит для этой задачи. Я также не знаком с сценариями Selenium и java. Я знаю, как очистить некоторые запросы от Scrapy.Скребок содержимого окна содержит бесконечную прокрутку в Python
ответ
Это действительно запрос AJAX. Если вы посмотрите на вкладку сети в вашем браузере инспектор:
Вы можете видеть, что это делает запрос POST, чтобы загрузить URLs к статьям.
Каждое значение самоочевидно здесь, кроме, возможно, для docid и timestamp. docid, кажется, указывает, какой ящик тянет статьи для (на странице есть несколько ящиков), и это похоже на id
, прикрепленный к элементу <li>
, под которым хранятся URL-адреса статьи.
К счастью, в этом случае POST и GET взаимозаменяемы. Также пареметр временной отметки, похоже, не требуется. Так все, что вы на самом деле можете просматривать результаты в вашем браузере, щелкнув правой кнопкой мыши на URL-адрес в инспекторе и выбрав пункт «Копировать ссылку с параметрами»:
Этот пример параметр Отметка времени удаляется, а также увеличить pullCount до 100, поэтому просто попросите его, он вернет 100 URL-адресов статей.
Вы можете портить больше, чтобы перепроектировать, как работает сайт, и каково использование каждого ключевого слова, но это хорошее начало.
Благодарим Granitosaurus за полезные советы. Я не смог найти инспектора в Google Chrome, чтобы получить указанный вами URL. Извините, поскольку я новичок в этой области. Кроме того, какие пакеты в Python следует использовать для получения URL-адресов в бесконечных контейнерах для прокрутки? я могу комбинировать пакет запросов с красивым супом или есть лучшее решение? –
Если вы используете скрипичную терапию, используйте проба-запрос для запросов и селекторов для анализа синтаксического анализа html. Если вы не используете scrapy, тогда запросы + красивый суп или lxml прекрасно работают. Что касается инструментов осмотра, вы должны уметь их использовать с помощью F12 или ctrl + shift + c. – Granitosaurus
Я очень благодарен. Я могу получить инструменты разработки в Chrome и посмотреть скриншот, но я не знаю, где щелкнуть правой кнопкой мыши и выбрать «копировать местоположение с параметрами», чтобы получить http://www.marketwatch.com/newsviewer/mktwheadlines?blogs=true&commentary = true & docId = 1275261016 & premium = true & pullCount = 100 & pulse = true & rtheadlines = true & topic = All% 20Topics & topstories = true & video = true :( –