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>