CashmereCat
@CashmereCat
Новичок

Как собрать текст внутри ссылок из HTML-кода страницы?

Всем привет!
Есть сайта-агрегатор репетиторов, оттуда необходимо собрать имена всех репетиторов.
Странниц 300+, на одной странице 10 репетиторов.
Имена репетиторов указаны внутри ссылки с классом teacer-name
Пример:
<a href="/repetitor.aspx?id=4350" class="teacher-name"> Полина Игоревна</a>

Можно ли каким-либо инструментом собрать содержимое этих ссылок, а не вручную?
Пожалуйста, объясните, я в этой теме плохо разбираюсь.
Заранее спасибо!
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 2
@glagolew059
frontend developer
можно использовать simple_html_dom.php (парсит html страниц)
далее список страниц можно получать (надеюсь на вашем сайте все ок) из sitemap.xml

пример кода (возможны ошибки, пишу не проверяя синтаксис)))

require_once($_SERVER["DOCUMENT_ROOT"] . "/parser/simple_html_dom.php");

$sitemap = "http://example.ru/sitemap.xml";
$xmlstring = file_get_contents($sitemap);

$xml = simplexml_load_string($xmlstring);
$json = json_encode($xml);
$array = json_decode($json,TRUE);

foreach($array['url'] as $link) {

        $url = $link['loc'];
	$html = file_get_contents($url);
	$data = str_get_html($html);

        $teacherArray = $data->find('.teacer-name'); //тут массив ссылок
    
        if(count($teacherArray)) {
                foreach($teacherArray as $a){
                    echo $a->href;
                    echo $a->plaintext;
                }
         }

}
Ответ написан
djQuery
@djQuery
"Кодируем помаленьку" ("Сказка о Тройке")))
curl + html dom parser вам могли бы помочь. Но если плохо разбираетесь, лучше обратитесь к специалистам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы