Пример анализа начала сбора данных по принципу сбора asp
Первый шаг — проанализировать страницы, которые вы хотите захватить.
Используйте браузер, чтобы открыть страницу, которую вы хотите собрать (например: http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml, после открытия вы также можете использовать другие страницы). щелкните правой кнопкой мыши, чтобы просмотреть исходный файл.
Второй шаг — найти местоположение собираемого контента.
Если я хочу получить заголовок и расположение содержимого этой страницы:
Заголовок находится между <h1 id=artibodyTitle style=color:#03005C;> и </h1>.
Содержимое находится между <!-- Начало текстового содержимого --> и <!-- Конец текстового содержимого -->
Обратите внимание на уникальность локации. После того, как вы ее найдете, вы можете воспользоваться поиском в редактировании, чтобы убедиться, что она уникальна. Если нет, попробуйте быть первым. Если все равно не получается. , вы можете только заменить его.
Третий шаг — написание кода
Скопируйте код кода следующим образом:
<%
'Функция: код коллекции asp
'Автор: Вандонг
'Примечания: Поддержите оригинальные программы, пожалуйста, сохраните эту информацию, спасибо.
url=http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml
стр = getHTTPage (URL-адрес)
title=strcut(str,<h1 id=artibodyTitle style=color:#03005C;>,</h1>,2)
content=strcut(str,<!-- Начало текстового содержимого -->,<!-- Конец текстового содержимого -->,2)
ответ.напишите заголовок новости<br><b>&title&</b><br><br><br>содержание новости:<br>&content
Функция getHTTPPage(url)
При ошибке Возобновить Далее
тусклый http
установите http=Server.createobject(Microsoft.XMLHTTP)
Http.open GET, URL, ложь
HTTP.send()
если Http.readystate<>4, то
функция выхода
конец, если
getHTTPPage=bytesToBSTR(Http.responseBody,GB2312)
установить http=ничего
Если номер ошибки<>0, то
Response.Write <p align='center'><font color='red'><b>На сервере произошла ошибка при получении содержимого файла</b></font></p>
Ошиб.Очистить
Конец, если
Конечная функция
Функция BytesToBstr(body,Cset)
тусклый объектный поток
установить objstream = Server.CreateObject(adodb.stream)
objstream.Type = 1
objstream.Mode =3
objstream.Открыть
objstream.Напишите тело
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
установить objstream = ничего
Конечная функция
'Перехватить строку, 1. включая начальный и конечный символы, 2. исключая
Функция strCut(strContent,StartStr,EndStr,CutType)
Тусклый strHtml,S1,S2
стрХтмл = стрКонтент
При ошибке Возобновить Далее
Выберите тип выреза корпуса
Случай 1
S1 = InStr(strHtml,StartStr)
S2 = InStr(S1,strHtml,EndStr)+Len(EndStr)
Случай 2
S1 = InStr(strHtml,StartStr)+Len(StartStr)
S2 = InStr(S1,strHtml,EndStr)
Конец выбора
Если Ошибка Тогда
strCute = <p align='center'>Необходимый контент не найден. </p>
Ошиб.Очистить
Выход из функции
Еще
strCut = Mid(strHtml,S1,S2-S1)
Конец, если
Конечная функция
%>
Ничего страшного, я сейчас выведу полученный контент, и вы сможете записать его в базу данных, так что данные ваши.