Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
exels
1 / 1 / 1
Регистрация: 28.02.2014
Сообщений: 54
1

Парсер ссылок сайта - ошибка 404

08.09.2014, 16:17. Просмотров 569. Ответов 1
Метки нет (Все метки)

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
 {
            
 
            WebClient client = new WebClient();
            Stream stream = client.OpenRead(textBox1.Text);
            StreamReader sr = new StreamReader(stream);
            string L, M = "";
            while ((L = sr.ReadLine()) != null)
            {
                M += L;
            }
            stream.Close();
            sr.Close();
            getBetween(M, "><a href=\"", "\"");
            //////////////////////////////////////////////////////
            for (cik = 1; cik <= richTextBox1.Lines.Length; cik++)
            {
                WebClient cli = new WebClient();
                Stream str = client.OpenRead(richTextBox1.Lines[cik]);
                StreamReader srt = new StreamReader(str);
                string La, Ma = "";
                while ((La = srt.ReadLine()) != null)
                {
                    Ma += La;
                }
                str.Close();
                srt.Close();
                getBetwee(Ma, "><a href=\"", "\"");
                ///////////////////////////////////////////////////////
                for (ci = 1; ci <= richTextBox1.Lines.Length; ci++)
                {
                    
                        WebClient cl = new WebClient();
                        Stream st = client.OpenRead(richTextBox1.Lines[ci]);
                        StreamReader srm = new StreamReader(st);
                        string Las, Mas = "";
                        while ((Las = srm.ReadLine()) != null)
                        {
                            Mas += Las;
                        }
                        st.Close();
                        sr.Close();
                        getBetwe(Mas, "><a href=\"", "\"");
                    
                  
                }
            }
        }
 
        private void getBetween(string strSource, string strStart, string strEnd)
        {
            int Start, End;
 
            while (strSource.Contains(strStart) && strSource.Contains(strEnd))
            {
                Start = strSource.IndexOf(strStart, 0) + strStart.Length;
                End = strSource.IndexOf(strEnd, Start);
                if ((strSource.Substring(Start, End - Start)).IndexOf(textBox1.Text) > -1)
                {
                    if ((strSource.Substring(Start, End - Start)) != textBox1.Text)
                    {
                        richTextBox1.Text = richTextBox1.Text + (strSource.Substring(Start, End - Start));
                        richTextBox1.Text = richTextBox1.Text + ("\n");
                        strSource = strSource.Substring(End);
                    }
                    else 
                    {
                        
                    }
                }
                else
                {
                    if ((strSource.Substring(Start, End - Start)) != textBox1.Text)
                    {
                        richTextBox1.Text = richTextBox1.Text + textBox1.Text;
                        richTextBox1.Text = richTextBox1.Text + (strSource.Substring(Start, End - Start));
                        richTextBox1.Text = richTextBox1.Text + ("\n");
                        strSource = strSource.Substring(End);
                    }
                    else
                    {
                        
                    }
                }
                
                
            }
        }
        private void getBetwee(string strSourc, string strStar, string strEn)
        {
            int Start, End;
 
            while (strSourc.Contains(strStar) && strSourc.Contains(strEn))
            {
                Start = strSourc.IndexOf(strStar, 0) + strStar.Length;
                End = strSourc.IndexOf(strEn, Start);
                if ((strSourc.Substring(Start, End - Start)).IndexOf(richTextBox1.Lines[cik]) > -1)
                {
                    if ((strSourc.Substring(Start, End - Start)) != richTextBox1.Lines[cik])
                    {
                        richTextBox2.Text = richTextBox2.Text + (strSourc.Substring(Start, End - Start));
                        richTextBox2.Text = richTextBox2.Text + ("\n");
                        strSourc = strSourc.Substring(End);
                    }
                    else
                    {
 
                    }
                }
                else
                {
                    if ((strSourc.Substring(Start, End - Start)) != richTextBox1.Lines[cik])
                    {
                        richTextBox2.Text = richTextBox2.Text + richTextBox1.Lines[cik] + (strSourc.Substring(Start, End - Start));
                        richTextBox2.Text = richTextBox2.Text + ("\n");
                        strSourc = strSourc.Substring(End);
                    }
                    else
                    {
 
                    }
                }
 
 
            }
        }
        private void getBetwe(string strSourc, string strStar, string strEn)
        {
            int Start, End;
 
            while (strSourc.Contains(strStar) && strSourc.Contains(strEn))
            {
                Start = strSourc.IndexOf(strStar, 0) + strStar.Length;
                End = strSourc.IndexOf(strEn, Start);
                if ((strSourc.Substring(Start, End - Start)).IndexOf(richTextBox1.Lines[ci]) > -1)
                {
                    if ((strSourc.Substring(Start, End - Start)) != richTextBox1.Lines[ci])
                    {
                        richTextBox3.Text = richTextBox3.Text + (strSourc.Substring(Start, End - Start));
                        richTextBox3.Text = richTextBox3.Text + ("\n");
                        strSourc = strSourc.Substring(End);
                    }
                    else
                    {
 
                    }
                }
                else
                {
                    if ((strSourc.Substring(Start, End - Start)) != richTextBox1.Lines[ci])
                    {
                        richTextBox3.Text = richTextBox3.Text + richTextBox1.Lines[ci] + (strSourc.Substring(Start, End - Start));
                        richTextBox3.Text = richTextBox3.Text + ("\n");
                        strSourc = strSourc.Substring(End);
                    }
                    else
                    {
 
                    }
                }
 
 
            }
        }
При парсинге, сначала парсит страницы со страницы введенной в textBox1, а далее выдает ошибку в строчке

C#
1
Stream str = client.OpenRead(richTextBox1.Lines[cik]);
Ошибка 404 Как исправить?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2014, 16:17
Ответы с готовыми решениями:

Парсер данных с сайта
Добрый день. Ищу так сказать идеи. Хочу написать программу, которая бы доставал с сайта данные,...

Парсер сайта с подгружаемой информацией
Добрый вечер. Нужно парсить сайт, с подгружаемыми данными. Проблема в том, что информация...

Парсер сайта погоды Gismeteo.ru
Всем доброго времени суток. Столкнулся с проблемой и честно говоря не могу понять в чём причина....

Парсер всех ссылок сайта
Здравствуйте, нужен парсер всех существующих ссылок сайта(которые именно к нему относятся)(находил...

Парсер внешних ссылок по страницам сайта на JAVA - как сделать правильно?
Здравствуйте уважаемые Java разработчики. Столкнулся со следующей задачей - Необходимо написать...

1
exels
1 / 1 / 1
Регистрация: 28.02.2014
Сообщений: 54
13.09.2014, 06:29  [ТС] 2
up!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2014, 06:29

Не достучаться до сайта используя Curl. Ошибка 404 not found/
Пытаюсь авторизироваться в своем кабинете на сайте pulscen.ru Но никак не могу получить данные,...

404 ошибка, как правильнее редирект: на файл 404.php или на главную?
Обнаружил что 404 ошибка не настроена. (ошибка 500) дилемма - создать файл 404 с нужным откликом...

Есть ли такая биржа ссылок, где можно размещать место для ссылок вне видимости страницы сайта
Например сдвинуть абсолютом размещаемые на сайте ссылки, вверх, вниз, вправо или влево?


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

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

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