Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Kahci
2 / 2 / 0
Регистрация: 16.06.2013
Сообщений: 50
#1

Не работает парсер проксей

07.12.2013, 23:25. Просмотров 654. Ответов 8
Метки нет (Все метки)

Есть код, который должен парсить прокси с сайта(если что, можно поменять на другой) и выврдить прокси в консоль, но он не работает. Что тут не так?
Библиотеки все подключены...


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Management;
using System.Text.RegularExpressions;
using System.Net;
using System.IO;
using xNet;
using xNet.Net;
 
 
namespace test
{
    class Program
    {
        static void Main() {
            string page = GetPage("http://hideme.ru/proxy-list/");
            for(int i = 0; i < 150; i++) {
                Console.WriteLine(ParseProxy(page)[i]);
            }
 
        }
 
        private static string GetPage(string adres)
        {
            HttpRequest req = new HttpRequest();
            return req.Get(adres).ToString();
        }
 
        private static string[] ParseProxy(string Page) {
            string[] arrayProsy = new string[150];
            int i = 0;
            Regex regex = new Regex(@"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}:\d{1,6}");
            Match math = regex.Match(Page);
            while(math.Success) {
                i++;
                    arrayProsy[i] = math.Value;
                math.NextMatch();
            }
            return arrayProsy;
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2013, 23:25
Ответы с готовыми решениями:

Консольный парсер не работает почему ?
using System.Text; namespace ConsoleApplication1 { using...

Парсер String to Decimal не работает, если в строке запятая вместо точки
private void button1_Click(object sender, EventArgs e) { ...

Требуется написать чекер проксей на PHP
Доброе время суток все пользователям этого форума. Требуется написать/найти...

Не работает парсер
Помогите, пожалуйста. Я сейчас изучаю simple html dom и что-то у меня не...

не работает парсер картинок
Здравствуйте! У меня проблема со скриптом. Помогите разобраться)&lt;!DOCTYPE HTML...

8
Psilon
Master of Orion
Эксперт .NET
5994 / 4847 / 901
Регистрация: 10.07.2011
Сообщений: 14,459
Записей в блоге: 5
Завершенные тесты: 4
07.12.2013, 23:28 #2
Kahci, 1) используй Regex.Matches чтобы сразу получить все матчи
2) что именно не работает? "шеф, все пропало" - не очень...
3) почему 150? Что мешает использовать обычный list?
0
Kahci
2 / 2 / 0
Регистрация: 16.06.2013
Сообщений: 50
07.12.2013, 23:48  [ТС] #3
Psilon, решил прошлую ошибку с библиотекой, программа скомпилилась. Но в консольке идет пустое заполнение. Как починить? или что то в регулярке не так? сайт с проксями изменил на http://www.topdan.ru/proxy-list
Не работает парсер проксей
0
Psilon
Master of Orion
Эксперт .NET
5994 / 4847 / 901
Регистрация: 10.07.2011
Сообщений: 14,459
Записей в блоге: 5
Завершенные тесты: 4
08.12.2013, 00:35 #4
Kahci, ну в дебагере прогони, халява же.
0
Kahci
2 / 2 / 0
Регистрация: 16.06.2013
Сообщений: 50
08.12.2013, 00:47  [ТС] #5
Я не знаю как фиксить проблему.
0
Psilon
Master of Orion
Эксперт .NET
5994 / 4847 / 901
Регистрация: 10.07.2011
Сообщений: 14,459
Записей в блоге: 5
Завершенные тесты: 4
08.12.2013, 00:48 #6
Kahci, ну блин, проблема может быть в чем угодно. Может регулярка не отрабатывает, может еще что, по словам "не р аботает" догадаться трудно...
0
Kahci
2 / 2 / 0
Регистрация: 16.06.2013
Сообщений: 50
09.12.2013, 19:29  [ТС] #7
Тот код отказывался работать, переделал его вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Net;
using System.IO;
using System.Collections;
using System.Collections.Generic;
 
namespace ConsoleApplication13
{
    class Progra
    {
        public static string checkIp()
        {
            StreamReader reader;
            HttpWebRequest httpWebRequest;
            HttpWebResponse httpWebResponse;
 
            try
            {
                httpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://www.topdan.ru/proxy-list");
                httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                reader = new StreamReader(httpWebResponse.GetResponseStream());
 
                ArrayList ls = new ArrayList();
                for (int i = 0; i < 100; i++)
                    ls.Add((int)(i));
                ls.Add(reader);
 
                return System.Text.RegularExpressions.Regex.Match(reader.ReadToEnd(), @"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})").Groups[1].Value;
 
            }
 
            catch
            {
                return "error";
            }
        }
 
        static void Main()
        {
            string sss = checkIp();
            Console.WriteLine(sss);
        }
    }
}
И внезапно заработало. Вот только выводится один прокси, а не все, которые есть на сайте... как починить? еще не могу понять как добавить в регулярку сам порт.
0
Psilon
Master of Orion
Эксперт .NET
5994 / 4847 / 901
Регистрация: 10.07.2011
Сообщений: 14,459
Записей в блоге: 5
Завершенные тесты: 4
09.12.2013, 19:47 #8
Ну так ты делаешь return одного значения. С чего бы ему печатать несколько?
0
Kahci
2 / 2 / 0
Регистрация: 16.06.2013
Сообщений: 50
09.12.2013, 20:01  [ТС] #9
Цитата Сообщение от Psilon Посмотреть сообщение
Ну так ты делаешь return одного значения. С чего бы ему печатать несколько?
Если указывать например:
C#
1
Groups[2]
, то вообще ничего не выводится.

Добавлено через 7 минут
Ладно, уже со всем разобрался. Тему можно закрывать. :3
0
09.12.2013, 20:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2013, 20:01

Не работает парсер писем
Есть вот такой парсер ящиков #!/usr/bin/perl ################# By Fepsis...

Парсер. Почему не работает POST?
Разбираюсь с простейшими парсерами. Подскажите, почему не отправляется запрос...

не работает парсер текстового файла
Здравстуйте, уважаемые форумчане! Помогите, пожалуйста, найти проблему,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru