Очистить страницу на сайте загрузки для извлечения определенных URL-адресов

#php #web-scraping

#php #очистка веб-страниц

Вопрос:

На сайте загрузки я хочу очистить все URL-адреса для зеркальных сайтов. Я использую PHP.

Например, на этой странице:

 http://drivers.softpedia.com/progDownload/Gigabyte-GA-P55A-UD3-rev-10-Intel-SATA-RAID-Preinstall-Driver-9501037-Download-99091.html
  

Я хочу извлечь следующие URL-адреса:

 http://drivers.softpedia.com/dyn-postdownload.php?p=99091amp;t=0amp;i=1
http://drivers.softpedia.com/dyn-postdownload.php?p=99091amp;t=0amp;i=2
  

Комментарии:

1. Wut? Где в приведенной выше ссылке указаны эти две зеркальные ссылки? Пожалуйста, уточните.

2. @Pekka Я переписал ее, просто ожидая одобрения редактирования. Зеркальные URL-адреса находятся на первом URL.

3. И на этом сайте есть фантастически семантический HTML, который действительно упрощает эту работу… [/сарказм]

Ответ №1:

Попробуйте с:

 (http://drivers.softpedia.com/dyn-postdownload.php?p=d amp;t=d amp;i=d )
  

Комментарии:

1. @Toman ну, некоторые из этих экранирований предназначены только для / того, чтобы заключать регулярное выражение. Использование альтернативного символа, такого как | или % , часто делает его немного более читаемым: preg_match_all("%http://drivers.softpedia.com/dyn-postdownload.php?p=d amp;t=d amp;i=d %", $buffer, $matches);

Ответ №2:

Неясно, откуда вы взяли параметры «t» и «i» из исходного URL-адреса, он содержит только идентификатор (p). Для извлечения этой последней группы цифр должно хватить приведенного ниже.

 %(d ).html$%