WebHarvest - утилизация данных с использованием аутентификации

Я использую инструмент WebHarvest для удаления веб-данных с нескольких веб-сайтов. Я просмотрел примеры, но не смог найти способ аутентификации на веб-сайтах, а затем удалить данные из них. Может ли кто-нибудь привести пример конфигурации, чтобы добиться очистки данных через аутентификацию? Как отправить параметры входа в систему, а затем получить содержимое домашней страницы? Ценю вашу помощь по этому вопросу.

1 ответ

Я только что изменил один пример ( http://web-harvest.sourceforge.net/samples.php?num=4) Web Harvest, и он отлично работает с учетными данными для входа. Вы можете получить обновленный код и попробовать:

<?xml version="1.0" encoding="UTF-8"?>

<config charset="ISO-8859-1">

    <!-- sends post request with needed login information -->
    <http method="post" url="http://www.nytimes.com/auth/login">
        <http-param name="is_continue">true</http-param>
        <http-param name="URI">http://</http-param>
        <http-param name="OQ"></http-param>
        <http-param name="OP"></http-param>
        <http-param name="USERID">web-harvest</http-param>
        <http-param name="PASSWORD">web-harvest</http-param>
    </http>

    <var-def name="startUrl">http://www.nytimes.com/pages/todayspaper/index.html</var-def>

    <file action="write" path="D:/nytimes/nytimes${sys.date()}.xml" charset="UTF-8">
        <template>
            <![CDATA[ <newyourk_times date="${sys.datetime("dd.MM.yyyy")}"> ]]>
        </template>

        <loop item="articleUrl" index="i">
            <!-- collects URLs of all articles from the front page -->
            <list>
                <xpath expression="//div[@class='story']">
                    <html-to-xml>
                        <http url="${startUrl}"/>
                    </html-to-xml>
                </xpath>
            </list>

            <!-- downloads each article and extract data from it -->
            <body>
                <xquery>
                    <xq-param name="doc">
                        <var name="articleUrl"/>
                    </xq-param>
                    <xq-expression><![CDATA[
                        declare variable $doc as node() external;
                        $doc
                    ]]></xq-expression>
                </xquery>
            </body>
        </loop>

        <![CDATA[ </newyourk_times> ]]>
    </file>

</config>
Другие вопросы по тегам