2016-10-27 7 views
0

Я новичок в Python и сканировании в Интернете. Я намерен очистить ссылки в главных историях website. Мне сказали посмотреть на его запросы Ajax и отправить похожие. Проблема в том, что все запросы для ссылок одинаковы: http://www.marketwatch.com/newsviewer/mktwheadlines Вопрос будет в том, как извлекать ссылки из бесконечного окна прокрутки. Я использую красивый суп, но я думаю, что это не подходит для этой задачи. Я также не знаком с сценариями Selenium и java. Я знаю, как очистить некоторые запросы от Scrapy.Скребок содержимого окна содержит бесконечную прокрутку в Python

ответ

0

Это действительно запрос AJAX. Если вы посмотрите на вкладку сети в вашем браузере инспектор:

enter image description here

Вы можете видеть, что это делает запрос POST, чтобы загрузить URLs к статьям.
Каждое значение самоочевидно здесь, кроме, возможно, для docid и timestamp. docid, кажется, указывает, какой ящик тянет статьи для (на странице есть несколько ящиков), и это похоже на id, прикрепленный к элементу <li>, под которым хранятся URL-адреса статьи.

К счастью, в этом случае POST и GET взаимозаменяемы. Также пареметр временной отметки, похоже, не требуется. Так все, что вы на самом деле можете просматривать результаты в вашем браузере, щелкнув правой кнопкой мыши на URL-адрес в инспекторе и выбрав пункт «Копировать ссылку с параметрами»:

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

Этот пример параметр Отметка времени удаляется, а также увеличить pullCount до 100, поэтому просто попросите его, он вернет 100 URL-адресов статей.

Вы можете портить больше, чтобы перепроектировать, как работает сайт, и каково использование каждого ключевого слова, но это хорошее начало.

+0

Благодарим Granitosaurus за полезные советы. Я не смог найти инспектора в Google Chrome, чтобы получить указанный вами URL. Извините, поскольку я новичок в этой области. Кроме того, какие пакеты в Python следует использовать для получения URL-адресов в бесконечных контейнерах для прокрутки? я могу комбинировать пакет запросов с красивым супом или есть лучшее решение? –

+0

Если вы используете скрипичную терапию, используйте проба-запрос для запросов и селекторов для анализа синтаксического анализа html. Если вы не используете scrapy, тогда запросы + красивый суп или lxml прекрасно работают. Что касается инструментов осмотра, вы должны уметь их использовать с помощью F12 или ctrl + shift + c. – Granitosaurus

+0

Я очень благодарен. Я могу получить инструменты разработки в 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 :( –