рег. выражения для парсинга источника

kerrnel

Client
Регистрация
13.10.2010
Сообщения
18
Благодарностей
1
Баллы
3
Разбираюсь сейчас с настройками источников прокси. Скопилось несколько вопросов.
Как составить регулярное выражение, если список прокси размещен в таблице ip port?
И вообще, регулярные выражения для парсинга прокси применяются к тексту, исходному коду или DOM?
Исходный код выглядит так:

</tr><tr id="4cf91b3bb9d9a" class="odd"><td>190.189.200.157</td>
<td class="port">8080</td>
<td>transparent</td>

или вот так:

<TD>82.207.46.197</TD>
<TD>3128</TD>

Т.е. Получается, что строка proxy не в одной строке, а в двух.

И еще, иногда, стандартные структуры рег. выражений срабатывают в конструкторе регулярных выражений, т.е - по отдельности, строка proxy, ip, port парсятся нормально, но при тесте в настройках источника - ничего не парсится. Похоже, я чего-то недопонимаю. Буду благодарен если объясните.
 

Go@

Administrator
Команда форума
Регистрация
19.01.2010
Сообщения
953
Благодарностей
735
Баллы
93
Т.к. сейчас пока нет выполнения JS, регвыры применяются к исходному коду страницы, пришедшему от сервера.
Касаемо представленых исходников - составляйте регвыры для парсинга и тестируйте, через настройку структур рег. выражений в настройках источника.
Например, для первого будет так - создаете новую структуру, в которой:

Строка [PROXY]
(?<=\<tr)[\w\W]*?(?=\<\/tr\>)

Строка [IP]
(\d{1,3}\.){3}\d{1,3}

Строка [PORT]
(?<=\"port\"\>)[\w\W]*?(?=\<\/td\>)
 

chuwaka

Client
Регистрация
17.06.2010
Сообщения
78
Благодарностей
2
Баллы
0
а будет когда-нибудь в проксичекере возможность собирать прокси с сайтов типа samair.ru? Там проксю взять легко, а порт они шифруют конструкциями типа i+u, где каждая буква соответствует своей цифре.

Вобщем говорю о более гибкой настройке парсинга, с возможностью задавать свои переменные в формуле.
 

LightWood

Moderator
Регистрация
04.11.2010
Сообщения
2 382
Благодарностей
917
Баллы
113

kerrnel

Client
Регистрация
13.10.2010
Сообщения
18
Благодарностей
1
Баллы
3
Ок, спасибо. Вот я составил рег. выражения. Но на сайте где используется данная структура 100500 страниц и каждой странице, добавленной в список источников нужно вручную прописать одну и ту же структуру. Можно ли как то сохранять добавленные структуры для их последующего применения. Или хорошо было бы добавить опцию "домен в рамках которого будет использоваться данная структура" ну или что-то в этом роде.
 

dady

Client
Регистрация
24.03.2010
Сообщения
269
Благодарностей
26
Баллы
28
Ок, спасибо. Вот я составил рег. выражения. Но на сайте где используется данная структура 100500 страниц и каждой странице, добавленной в список источников нужно вручную прописать одну и ту же структуру. Можно ли как то сохранять добавленные структуры для их последующего применения. Или хорошо было бы добавить опцию "домен в рамках которого будет использоваться данная структура" ну или что-то в этом роде.
+1 нехватает оч сильно сохранения регвыра.
 

Go@

Administrator
Команда форума
Регистрация
19.01.2010
Сообщения
953
Благодарностей
735
Баллы
93
Поставлено как приоритетная задача для проксичекера.
Сделаем в следующих билдах, т.к. многие просят :-)
 

Rodimus

Client
Регистрация
04.12.2010
Сообщения
25
Благодарностей
0
Баллы
1
Вопрос по регуляркам -
есть файлик, беру из него кусочек текста, например &gt;&lt;img src=" и такой " width="150" height="230". После чего загоняю эти 2 выражения в макрос конвертации из строки в регулярное выражение.
Результат:
&gt;&lt;img\ src=" и "\ width="150"\ height="230" - так макрос интерпретирует.
А должно быть
&gt;&lt;img src\=\" и \" width\=\"150\" height\=\"230\" - так Конструктор рег. выр. интерпретирует.

И в результате или не парсится совсем или парситься не то, что должно быть.

Что делать? Может я что непарвильно делаю?
 

samtam

Client
Регистрация
04.12.2010
Сообщения
16
Благодарностей
0
Баллы
1
подскажите пожалуйста какие рег. выражения надо для парсинга?
<tr><td>195.182.195.151</td><td>3128</td><td>Ukraine</td><td>Dniepropetrovsk</td><td>58 секунд назад</td></tr>
 

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113
подскажите пожалуйста какие рег. выражения надо для парсинга?
<tr><td>195.182.195.151</td><td>3128</td><td>Ukraine</td><td>Dniepropetrovsk</td><td>58 секунд назад</td></tr>
Для IP: (?<=\<tr\>\<td\>).*?(?=\<\/td\>\<td\>)
Для Port: (?<=\<\/td\>\<td\>)\d+(?=\<\/td\>\<td\>)
 

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113

samtam

Client
Регистрация
04.12.2010
Сообщения
16
Благодарностей
0
Баллы
1

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113

samtam

Client
Регистрация
04.12.2010
Сообщения
16
Благодарностей
0
Баллы
1

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113

kerya82

Client
Регистрация
20.03.2011
Сообщения
17
Благодарностей
0
Баллы
1
Скажите, как у вас получаются выражения вида (\d{1,3}\.){3}\d{1,3}, как бы я не мучал конструктор регулярок он мне не выдаёт такую конструкцию.
Можно ли где то хелп увидеть по таким конструкциям?
И сразу пару вопросов вдогонку, подскажите какие регулярки нужны для следующих исходников
1.

<tr>
<td>207.99.23.198</td>
<td>80</td>
<td>Lyndhurst, United States</td>
<td>32 ms</td>
<td>6 hours ago</td>
<td><img src="images/stars-5.gif" title="4.984" alt="4.984"/></td>

2.

<TR>
<TD><SMALL>1</SMALL></TD>

<TD><SMALL>123.49.61.1</SMALL></TD>
<TD><SMALL>1080</SMALL></TD>
<TD><SMALL>2011-03-27 22:59:01</SMALL></TD>
<TD><SMALL>2010-11-01 19:10:03</SMALL></TD>
</TR>
<TR>
<TD><SMALL>2</SMALL></TD>

<TD><SMALL>217.150.52.37</SMALL></TD>
<TD><SMALL>1080</SMALL></TD>
<TD><SMALL>2011-03-27 22:55:02</SMALL></TD>
<TD><SMALL>2011-01-29 04:01:03</SMALL></TD>
</TR>

3.

</tr><tr style="background:#f3f3f3;"><td align="right">1.</td><td align="center">93.79.55.139</td><td align="center">443</td><td align="center"><img src="/system/skins/site/img/flags/UA.gif" title="Ukraine" alt="Ukraine"></td><td align="center"><img src="/system/skins/site/img/icons/online.gif" title="Online" alt="Online" /></td></tr><tr style="background:#fff;"><td align="right">2.</td><td align="center">91.210.46.1</td><td align="center">8080</td><td align="center"><img src="/system/skins/site/img/flags/RU.gif" title="Russian Federation" alt="Russian Federation"></td><td align="center"><img src="/system/skins/site/img/icons/online.gif" title="Online" alt="Online" /></td></tr><tr style="background:#f3f3f3;"><td align="right">3.</td><td align="center">121.52.215.210</td><td align="center">80</td><td align="center"><img src="/system/skins/site/img/flags/CN.gif" title="China" alt="China"></td><td align="center"><img src="/system/skins/site/img/icons/online.gif" title="Online" alt="Online" /></td></tr><tr style="background:#fff;">
 

ziavra

Client
Регистрация
26.06.2009
Сообщения
116
Благодарностей
4
Баллы
0

prof

Client
Регистрация
20.03.2012
Сообщения
6
Благодарностей
0
Баллы
0
прошу помощи составить регулярное выражение для парсинга прокси, у самого никак не выходит

на странице прокси записаны в таблице:

<tr someattributes>
<td someattributes>12.34.56.78</td>
<td someattributes>1234</td>
</tr>

где someattributes - атрибуты html тэгов которые постоянно меняются или вообще отсутствуют..

те надо чтоб регулярка собирала

<tr><td>12.34.56.78</td><td>1234</td></tr>

и

<tr class="someclass"><td heigth="x">12.34.56.78</td><td heigth="y">1234</td></tr>

и

<tr heigth="x">
<td class="someclass">12.34.56.78</td>
<td class="someclass1">1234</td>
</tr>

итп

заранее очень благодарен за ответ!))
можно в личку)
 

Rise

Client
Регистрация
21.02.2012
Сообщения
27
Благодарностей
0
Баллы
0
Может кто-то поможет с этим. То, что узнал в этом топике мне не помогло.
 

LTT

Client
Регистрация
02.04.2012
Сообщения
3
Благодарностей
0
Баллы
0
Вот такая конструкция в принципе обрабатывается парсером прокси?

<span>217</span><span>.219</span><span>.221</span><span>.114</span></td>
<td>
8080</td>

пытался так: >(\d+)</[\w\W]+?\>(.\d+)[\w\W]+?>(.\d+)[\w\W]+?>(.\d+)[\w\W]+?</td


Или есть ограничение на то чтобы адрес был только целиком: <span>123.123.123.123</span>
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)