Ответы пользователя по тегу HTML
  • Парсим/грабим веб-страницы без мусора?

    @beatleboy
    Apist - отличная вещь! Позволяет с легкостью парсить страницы, обращайся к элементам в стиле jquery. Пример парсинга Хабра:

    public function index()
    {
    	return $this->get('/', [
    		'title' => Apist::filter('.page_head .title')->text()->trim(),
    		'posts' => Apist::filter('.posts .post')->each([
    			'title'      => Apist::filter('h1.title a')->text(),
    			'link'       => Apist::filter('h1.title a')->attr('href'),
    			'hubs'       => Apist::filter('.hubs a')->each(Apist::filter('*')->text()),
    			'author'     => [
    				'username'     => Apist::filter('.author a'),
    				'profile_link' => Apist::filter('.author a')->attr('href'),
    				'rating'       => Apist::filter('.author .rating')->text()
    			]
    		])
    	]);
    }


    Возвращает данные массивом:
    {
        "title": "Публикации",
        "posts": [
            {
                "title": "Проверьте своего хостера на уязвимость Shellshock (часть 2)",
                "link": "http:\/\/habrahabr.ru\/company\/host-tracker\/blog\/240389\/",
                "hubs": [
                    "Блог компании ХостТрекер",
                    "Серверное администрирование",
                    "Информационная безопасность"
                ],
                "author": {
                    "username": "smiHT",
                    "profile_link": "http:\/\/habrahabr.ru\/users\/smiHT\/",
                    "rating": "26,9"
                }
            },
            {
                "title": "Курсы этичного хакинга и тестирования на проникновение от PentestIT",
                "link": "http:\/\/habrahabr.ru\/company\/pentestit\/blog\/240995\/",
                "hubs": [
                    "Блог компании PentestIT",
                    "Учебный процесс в IT",
                    "Информационная безопасность"
                ],
                "author": {
                    "username": "pentestit-team",
                    "profile_link": "http:\/\/habrahabr.ru\/users\/pentestit-team\/",
                    "rating": "36,4"
                }
            },
            ...
        ]
    }

    Тут подробнее
    Ответ написан
    Комментировать