-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Копирование текста из веб страницы
Подскажите пожалуйста.
Не могу понять как скопировать в буфер обмена текст из веб страницы, который находится в <td class="box_right" width="95%"> и всегда начинается с <span>Наименование:</span> и заканчивается перед <span>В наличии:</span>. И при этом что бы текст был как текст, а не как html код.
|
Цитата:
Цитата r35TnX
при этом что бы текст был как текст, а не как html код »
|
из вашего объяснения непонятно, что может находиться между "начинается" и "заканчивается" - текст или html-код, не проще ли было приложить пример содержимого страницы?
|
Цитата:
Цитата r35TnX
Подскажите пожалуйста.
Не могу понять как скопировать в буфер обмена текст из веб страницы »
|
Если вы тему создали, то пожалуйста и корректно спрашивайте. Или ссылку выложите на веб страницу или кусок html кода начиная с <span>Наименование:</span> и заканчивая на <span>В наличии:</span>, но при условии, что такой кусок кода, который начинается с <span>Наименование:</span> и заканчивается на <span>В наличии:</span> в тексте только один.
|
кусок html кода
HTML код:
<td class="movie_box_right" width="95%">
<span>Джуно</span> <br/>
<span>Оригинальное название:</span> Juno <br/>
<span>Год выпуска:</span> 2007 <br/>
<span>Режиссер:</span> Джейсон Рейтман <br/>
<span>Жанр:</span> <a class="genre" href="/cat/camedy/">Комедия</a> , <a class="genre" href="/cat/dram/">Драмма</a> <br/>
<span>В ролях:</span> Эллен Пейдж Дженнифер Гарнер Джейсон Бейтман Майкл Сера Оливия Тирлби <br/>
<span>Описание:</span> Беременная старшеклассница Джуно отыскивает приятную семейную пару, желающую усыновить ее не ребенка. Перед девушкой поднимаются совсем не детские задачи : словно делать? что довольно лучше ради ее детворы и точно найти себя? Джуно принимает неестественное решение… <br/>
<div class="screenshot_box">
но нужно что бы всё это (со второй по седьмую строчку) опировалось в виде обычного текста... без тегов, без форматирования.
|
Цитата:
Подскажите пожалуйста.
Не могу понять как скопировать в буфер обмена текст из веб страницы
|
Вот примерно так:
Код:
#include <INet.au3>
;получение html кода из инет-страницы
$sFile=_INetGetSource("тут ссылка")
$pattern="(?s).*<td class=.?movie_box_right.? width=.?95%.?> (.*?)<div class=.?screenshot_box.+>.*?"
;поиск нужного куска html кода
$sRezultat=StringregExpReplace($sFile,$pattern, "\1")
;отсеивание ненужного мусора.
$sRezultat2=StringregExpReplace($sRezultat,"(<span>)|(</span>)|(<br/>)|(</a>)|(<a.*?>)", " ")
$sF=fileopen("1.txt",2)
fileWrite($sF,$sRezultat2) ;запись нужного куска в текстовый файл 1.txt
MsgBox(0, "Body Text", $sRezultat2) ;нужно только в целях проверки результата
Только тут не в буфер а в файл...Но если будет работать, то не трудно вместо сохранения в файл написать копировать в буфер.
|
не хочет компилировать.
Цитата:
WARNING: $Rezultat2: possibly used before declaration. fileWrite($sF,$Rezultat2)
|
но даже если $Rezultat2 заменить на $sRezultat2 то скрипт почемуто копирует весь исходный текст страницы.
ссылка удалена.
|
Извините, но и не захочет, ибо то вы одно пишете, начинается всегда так... окончается так, а теперь выявляется что там такого и близко нету! Пример я показал, а остальное уже делайте сами.
P.S. И ссылку по-моему лучще удалить...
|
Я просто как можно дольше пытался вуалировать истинную страницу. (многие бы не правильно меня поняли. Это всего лишь работа и мне плевать что там жопы или цветы) Из-за этого придумывал другой текст, а структуру и теги оставлял такими же.
Вы пишете что там и близко такого нету... ну как же нету посмотрите 179 строчку исходного кода. Я сразу же удалю тему, как решится проблема.
Поймите правильно. Спасибо за помощь
|
Цитата:
Цитата r35TnX
ну как же нету посмотрите »
|
Действительно, есть. Вот:
Код:
#include <INet.au3>
;получение html кода из инет-страницы
$sFile=_INetGetSource("тут ссылка")
;получение html кода из инет-страницы
$pattern="(?s).*?movie_box_right.*?> (.*?)<div class=.*?screenshot_box.*"
;поиск нужного куска html кода
$sRezultat=StringregExpReplace($sFile,$pattern, "\1")
;отсеивание ненужного мусора.
$sRezultat2=StringregExpReplace($sRezultat,"(<.?span>)|(<br.*?>)|(<.?a>)|<a class=.*?>|(\t)", " ")
MsgBox(0, "Body Text", $sRezultat2) ;нужно только в целях проверки результата
ClipPut($sRezultat2)
|
Спасибо beve. Вы мне очень помогли.
Будем удалять тему? или только ссылку удалить?
|
Время: 03:24.
© OSzone.net 2001-