Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Копирование текста из веб страницы (http://forum.oszone.net/showthread.php?t=133365)

r35TnX 28-02-2009 04:15 1051002

Копирование текста из веб страницы
 
Подскажите пожалуйста.
Не могу понять как скопировать в буфер обмена текст из веб страницы, который находится в <td class="box_right" width="95%"> и всегда начинается с <span>Наименование:</span> и заканчивается перед <span>В наличии:</span>. И при этом что бы текст был как текст, а не как html код.

amel27 28-02-2009 04:54 1051007

Цитата:

Цитата r35TnX
при этом что бы текст был как текст, а не как html код »

из вашего объяснения непонятно, что может находиться между "начинается" и "заканчивается" - текст или html-код, не проще ли было приложить пример содержимого страницы?

beve 28-02-2009 13:39 1051206

Цитата:

Цитата r35TnX
Подскажите пожалуйста.
Не могу понять как скопировать в буфер обмена текст из веб страницы »

Если вы тему создали, то пожалуйста и корректно спрашивайте. Или ссылку выложите на веб страницу или кусок html кода начиная с <span>Наименование:</span> и заканчивая на <span>В наличии:</span>, но при условии, что такой кусок кода, который начинается с <span>Наименование:</span> и заканчивается на <span>В наличии:</span> в тексте только один.

r35TnX 01-03-2009 01:15 1051693

кусок 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">

но нужно что бы всё это (со второй по седьмую строчку) опировалось в виде обычного текста... без тегов, без форматирования.

beve 02-03-2009 02:48 1052498

Цитата:

Подскажите пожалуйста.
Не могу понять как скопировать в буфер обмена текст из веб страницы
Вот примерно так:
Код:

#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) ;нужно только в целях проверки результата

Только тут не в буфер а в файл...Но если будет работать, то не трудно вместо сохранения в файл написать копировать в буфер.

r35TnX 02-03-2009 11:42 1052705

не хочет компилировать.

Цитата:

WARNING: $Rezultat2: possibly used before declaration. fileWrite($sF,$Rezultat2)
но даже если $Rezultat2 заменить на $sRezultat2 то скрипт почемуто копирует весь исходный текст страницы.

ссылка удалена.

beve 02-03-2009 12:19 1052740

Цитата:

не хочет компилировать.
Извините, но и не захочет, ибо то вы одно пишете, начинается всегда так... окончается так, а теперь выявляется что там такого и близко нету! Пример я показал, а остальное уже делайте сами.
P.S. И ссылку по-моему лучще удалить...

r35TnX 02-03-2009 17:45 1052995

Я просто как можно дольше пытался вуалировать истинную страницу. (многие бы не правильно меня поняли. Это всего лишь работа и мне плевать что там жопы или цветы) Из-за этого придумывал другой текст, а структуру и теги оставлял такими же.
Вы пишете что там и близко такого нету... ну как же нету посмотрите 179 строчку исходного кода. Я сразу же удалю тему, как решится проблема.
Поймите правильно. Спасибо за помощь

beve 02-03-2009 18:37 1053031

Цитата:

Цитата 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)


r35TnX 02-03-2009 18:58 1053039

Спасибо beve. Вы мне очень помогли.
Будем удалять тему? или только ссылку удалить?


Время: 03:24.

Время: 03:24.
© OSzone.net 2001-