powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ошибка 404
22 сообщений из 22, страница 1 из 1
ошибка 404
    #37371081
igor701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня! Уважаемые форумчане подскажите занялся парсингом страниц мнтернета через эксель
код для подключения и открытия страницы таков
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
addr = "URL;http://catalog.auto.ru/catalog/cars/card/" & str & ".html"
                On Error GoTo Propusk
                With xl.Workbooks.Add(- 4167 ).Worksheets( 1 )
                With .QueryTables.Add(addr, .[a1]) 
                .AdjustColumnWidth = True:               
                .WebSelectionType =  3 
                .WebFormatting =  3  
                .WebTables =  1 
                .Refresh BackgroundQuery:=False 
                End With
                End With
так вот при отсутствии страницы обработчиком On Error GoTo Propusk один раз проскакивает а на второй раз выдает ошибку на строчке
Код: plaintext
.Refresh BackgroundQuery:=False 
и в сообщении пишет ошибка 1004 невозможно открыть страницу подскажите как решить эту задачу чтобы при отсутствии страницы проскакивать на метку Заранее Спасибо!
...
Рейтинг: 0 / 0
ошибка 404
    #37371098
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor701,
хоть бы с номером ошибки определились, -
в заголовке 404 html, not found
в тексте 1004 odbc, general error
...
Рейтинг: 0 / 0
ошибка 404
    #37371100
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если рассматривать опубликованный код, то ответ на вопрос
igor701как решить эту задачу чтобы при отсутствии страницы проскакивать на метку будет - "поставить метку Propusk"

А вообще, дело скорее всего в неправильном использовании обработчика ошибок (скорее всего отсутствие Resume и циклический вызов)
...
Рейтинг: 0 / 0
ошибка 404
    #37371116
igor701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотищаigor701,
хоть бы с номером ошибки определились, -
в заголовке 404 html, not found
в тексте 1004 odbc, general error
чем разглагольствовать лучше подскажите как исправить
...
Рейтинг: 0 / 0
ошибка 404
    #37371121
igor701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
метка стоит по подробнее про Resume можно
...
Рейтинг: 0 / 0
ошибка 404
    #37371122
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor701чем разглагольствовать лучше подскажите как исправить как я сказал - правильно использовать обработчик ошибок. Варианта два:
1) штудировать хелп
2) опубликовать не огрызок кода, а весь цикл и обработчик ошибок
...
Рейтинг: 0 / 0
ошибка 404
    #37371124
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor701метка стоит по подробнее про Resume можно обработчик ошибок должен заканчиваться командой Resume (ну или Exit Sub, End Sub....)
...
Рейтинг: 0 / 0
ошибка 404
    #37371125
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor701,
Шокер уже подсказал, - нормальный обработчик ошибок написать.
...
Рейтинг: 0 / 0
ошибка 404
    #37371143
igor701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proigor701чем разглагольствовать лучше подскажите как исправить как я сказал - правильно использовать обработчик ошибок. Варианта два:
1) штудировать хелп
2) опубликовать не огрызок кода, а весь цикл и обработчик ошибок
Код: plaintext
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.
Private Sub loti()
'On Error GoTo Propusk
Dim xl As Object
Dim str As Variant
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Dim ds As DAO.Recordset
Set ds = CurrentDb.OpenRecordset("Afto", dbOpenTable)
Dim dat( 1  To  80 ,  1  To  3 ) As Variant

For i =  10012  To  10012 
str = i
ds.AddNew
ds![Íîìåð ñòðàíèöû] = i


    Me.Ïîëå 3  = str
                addr = "URL;http://catalog.auto.ru/catalog/cars/card/" & str & ".html"
                'On Error GoTo Propusk
                With xl.Workbooks.Add(- 4167 ).Worksheets( 1 )
                With .QueryTables.Add(addr, .[a1]) ' ÓÑÒÀÍÀÂËÈÂÀÅÌ ÑÎÅÄÈÍÅÍÈÅ Ñ URL È ÓÊÀÇÛÂÀÅÌ ÊÓÄÀ ÏÎÌÅÑÒÈÒÜ
                .AdjustColumnWidth = True: ' ÓÊÀÇÛÂÀÅÌ ØÈÐÈÍÓ ÑÒÎÁÖÎÂ ÂÛÐÎÂÍßÒÜ
                '.RefreshPeriod = 0 ' ÎáÍÎÂËÅÍÈÅ ÄÀÍÍÛÕ 0=ÎÒÊËÞ×ÅÍÍÎ
                .WebSelectionType =  3  'ÎÏÐÅÄÅËßÅÒ 1-ÇÀÃÐÓÆÀÅÌ  ÂÑÞ ÑÒÐÀÍÈÖÓ,2 ÁÅÇ ÂÅÕÍÈÕ ÑÑÑÛËÎÊ
                .WebFormatting =  3  '1 - Âñå ôîðìàòèðîâàíèå èìïîðòèðîâàí. 3 - Íèêàêèõ ôîðìàòèðîâàíèÿ èìïîðòèðîâàí.  2 - ñîâìåñòèìûõ ñ íàñûùåííûì òåêñòîâûì ôîðìàòîì ôîðìàòèðîâàíèÿ èìïîðòèðîâàí.
                .WebTables =  1  'ÓÊÀÇÛÂÀÅÒ ÍÎÌÅÐÐ ÒÀÁËÈÖÛ ÍÀ WEB ÑÒÐÀÍÈÖÅ
                .Refresh BackgroundQuery:=True ' ÑÊÐÛÂÀÅÒ ÈÍÔÎÐÌÀÖÈÞ Î ÏÎËÓ×ÅÍÈÈ ÄÀÍÍÛÕ ÍÀ ÇÀÄÍÅÌ ÏËÀÍÅ ËÈÑÒÀ
                'Debug.Print .Cells(1, 1), .Cells(1, 2)
                End With
                End With
    
    With xl.Workbooks( 1 ).Worksheets( 1 )
    
        

        For ii =  1  To  80 
            dat(ii,  1 ) = LTrim(.Cells(ii,  1 ))
            dat(ii,  2 ) = LTrim(.Cells(ii,  2 ))
            dat(ii,  3 ) = LTrim(.Cells(ii,  3 ))
           'Debug.Print dat(ii, 1); dat(ii, 2); dat(ii, 3); dat(ii, 4); dat(ii, 5)
        Next ii

    End With




p1 = InStr( 1 , dat( 5 ,  2 ), "/")
p2 = InStr(InStr( 1 , dat( 5 ,  2 ), "/") +  1 , dat( 5 ,  2 ), "/")
p3 = InStr(InStr(InStr( 1 , dat( 5 ,  2 ), "/") +  1 , dat( 5 ,  2 ), "/") +  1 , dat( 5 ,  2 ), "/")
'Debug.Print p1, p2, p3

ds![Òèï òðàíñïîðòà] = Mid(dat( 5 ,  2 ),  1 , p1 -  1 )
ds![Ìàðêà] = Mid(dat( 5 ,  2 ), p1 +  1 , p2 - p1 -  2 )
ds![Ìîäåëü] = Mid(dat( 5 ,  2 ), p2 +  1 , p3 - p2 -  2 )
ds![Ìîäèôèêàöèÿ] = Mid(dat( 5 ,  2 ), p3 +  1 )
'Debug.Print ds![Òèï òðàíñïîðòà], "|", ds![Ìàðêà], "|", ds![Ìîäåëü], "|", ds![Ìîäèôèêàöèÿ], "|",
       
        
        
    For ii =  1  To  80 
        Select Case dat(ii,  2 )
                             
        Case "Òèï êóçîâà"
        ds![Òèï êóçîâà] = dat(ii,  3 )
        Case "Êîëè÷åñòâî äâåðåé"
        ds![Êîëè÷åñòâî äâåðåé] = dat(ii,  3 )
        Case "Êîëè÷åñòâî ìåñò"
        ds![Êîëè÷åñòâî ìåñò] = dat(ii,  3 )
        Case "Äëèíà"
        ds![Äëèíà] = dat(ii,  3 )
        Case "Øèðèíà"
        ds![Øèðèíà] = dat(ii,  3 )
        Case "Âûñîòà"
        ds![Âûñîòà] = dat(ii,  3 )
        Case "Êîëåñíàÿ áàçà"
        ds![Êîëåñíàÿ áàçà] = dat(ii,  3 )
        Case "Êîëåÿ ïåðåäíÿÿ"
        ds![Êîëåÿ ïåðåäíÿÿ] = dat(ii,  3 )
        Case "Êîëåÿ çàäíÿÿ"
        ds![Êîëåÿ çàäíÿÿ] = dat(ii,  3 )
        Case "Äîðîæíûé ïðîñâåò"
        ds![Äîðîæíûé ïðîñâåò] = dat(ii,  3 )
        Case "Îáúåì áàãàæíèêà ìàêñèìàëüíûé"
        ds![Îáúåì áàãàæíèêà ìàêñèìàëüíûé] = dat(ii,  3 )
        Case "Îáúåì áàãàæíèêà ìèíèìàëüíûé"
        ds![Îáúåì áàãàæíèêà ìèíèìàëüíûé] = dat(ii,  3 )
        Case "Ðàñïîëîæåíèå äâèãàòåëÿ"
        ds![Ðàñïîëîæåíèå äâèãàòåëÿ] = dat(ii,  3 )
        Case "Îáúåì äâèãàòåëÿ"
        ds![Îáúåì äâèãàòåëÿ] = dat(ii,  3 )
        Case "Ìîùíîñòü"
        ds![Ìîùíîñòü] = dat(ii,  3 )
        Case "Ïðè îáîðîòàõ"
        ds![Ïðè îáîðîòàõ] = dat(ii,  3 )
        Case "Êðóòÿùèé ìîìåíò"
        ds![Êðóòÿùèé ìîìåíò] = dat(ii,  3 )
        Case "Ñèñòåìà ïèòàíèÿ"
        ds![Ñèñòåìà ïèòàíèÿ] = dat(ii,  3 )
        Case "Íàëè÷èå òóðáîíàääóâà"
        ds![Íàëè÷èå òóðáîíàääóâà] = dat(ii,  3 )
        Case "Ðàñïîëîæåíèå öèëèíäðîâ"
        ds![Ðàñïîëîæåíèå öèëèíäðîâ] = dat(ii,  3 )
        Case "Êîëè÷åñòâî öèëèíäðîâ"
        ds![Êîëè÷åñòâî öèëèíäðîâ] = dat(ii,  3 )
        Case "Äèàìåòð öèëèíäðà"
        ds![Äèàìåòð öèëèíäðà] = dat(ii,  3 )
        Case "Õîä ïîðøíÿ"
        ds![Õîä ïîðøíÿ] = dat(ii,  3 )
        Case "Ñòåïåíü ñæàòèÿ"
        ds![Ñòåïåíü ñæàòèÿ] = dat(ii,  3 )
        Case "Êîëè÷åñòâî êëàïàíîâ íà öèëèíäð"
        ds![Êîëè÷åñòâî êëàïàíîâ íà öèëèíäð] = dat(ii,  3 )
        Case "Òîïëèâî"
        ds![Òîïëèâî] = dat(ii,  3 )
        Case "Ïðèâîä"
        ds![Ïðèâîä] = dat(ii,  3 )
        Case "Êîë-âî ïåðåäà÷ (ìåõ êîðîáêà )"
        ds![Êîë-âî ïåðåäà÷ (ìåõ êîðîáêà )] = dat(ii,  3 )
        Case "Êîë-âî ïåðåäà÷ (àâòîìàò êîðîáêà)"
        ds![Êîë-âî ïåðåäà÷ (àâòîìàò êîðîáêà)] = dat(ii,  3 )
        Case "Òèï ïåðåäíåé ïîäâåñêè"
        ds![Òèï ïåðåäíåé ïîäâåñêè] = dat(ii,  3 )
        Case "Òèï çàäíåé ïîäâåñêè"
        ds![Òèï çàäíåé ïîäâåñêè] = dat(ii,  3 )
        Case "Ïåðåäíèå òîðìîçà"
        ds![Ïåðåäíèå òîðìîçà] = dat(ii,  3 )
        Case "Çàäíèå òîðìîçà"
        ds![Çàäíèå òîðìîçà] = dat(ii,  3 )
        Case "ÀÁÑ"
        ds![ÀÁÑ] = dat(ii,  3 )
        Case "Óñèëèòåëü ðóëÿ"
        ds![Óñèëèòåëü ðóëÿ] = dat(ii,  3 )
        Case "Òèï ðóëåâîãî óïðàâëåíèÿ"
        ds![Òèï ðóëåâîãî óïðàâëåíèÿ] = dat(ii,  3 )
        Case "Ìàêñèìàëüíàÿ ñêîðîñòü"
        ds![Ìàêñèìàëüíàÿ ñêîðîñòü] = dat(ii,  3 )
        Case "Ðàñõîä òîïëèâà Ñìåøàííûé öèêë"
        ds![Ðàñõîä òîïëèâà Ñìåøàííûé öèêë] = dat(ii,  3 )
        Case "Îáúåì òîïëèâíîãî áàêà"
        ds![Îáúåì òîïëèâíîãî áàêà] = dat(ii,  3 )
        Case "Ñíàðÿæåííàÿ ìàññà àâòîìîáèëÿ"
        ds![Ñíàðÿæåííàÿ ìàññà àâòîìîáèëÿ] = dat(ii,  3 )
        Case "Ðàçìåð øèí"
        ds![Ðàçìåð øèí] = dat(ii,  3 )

        End Select
    Next ii
        
        
        
Propusk:
    ds.Update
    xl.ActiveWorkbook.Close SaveChanges:=False
Next i
xl.Quit
Set xl = Nothing

End Sub
Вот весь код
...
Рейтинг: 0 / 0
ошибка 404
    #37371151
igor701
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor701,
код и работа в аксесе
вопрос ведь простой как пропустить в цикле страницу и перейти к следующей? или нет
...
Рейтинг: 0 / 0
ошибка 404
    #37371165
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предлагаю сделать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
...
.WebTables =  1 
On Error Resume Next
.Refresh BackgroundQuery:=True
If Err<> 0  GoTo Propusk
On Error GoTo  0 
End With
...
Код: plaintext
1.
2.
3.
4.
...
Propusk:
On Error GoTo  0 
ds.Update
...
...
Рейтинг: 0 / 0
ошибка 404
    #37371186
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Код: plaintext
On Error
обнуляет ошибку? Если нет, - то твой код не решит пробему ТС.
...
Рейтинг: 0 / 0
ошибка 404
    #37371203
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor701igor701,
код и работа в аксесе
вопрос ведь простой как пропустить в цикле страницу и перейти к следующей? или нетили НЕТ
в "крике о помощи"
Код: plaintext
                .Refresh BackgroundQuery:=False 
"пятью минутами позже" , типа "вот весь код..."
Код: plaintext
1.
               .Refresh BackgroundQuery:=True ' ÑÊÐÛÂÀÅÒ ÈÍÔÎÐÌÀÖÈÞ Î ÏÎËÓ×ÅÍÈÈ ÄÀÍÍÛÕ ÍÀ ÇÀÄÍÅÌ ÏËÀÍÅ ËÈÑÒÀ
...
Рейтинг: 0 / 0
ошибка 404
    #37371206
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища
Код: plaintext
On Error
обнуляет ошибку? Если нет, - то твой код не решит пробему ТС. Скукотища, ты меня удивляешь. Конечно обнуляет.
...
Рейтинг: 0 / 0
ошибка 404
    #37371265
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
спасибо, вразумил. Почему-то запало в мозгъ, что номер ошибки обнуляет только инструкция Resume (не считая явного err.clear или выхода за пределы видимости)
...
Рейтинг: 0 / 0
ошибка 404
    #37371293
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Shocker.Pro
> Конечно обнуляет.


А мне, смутно помнится, что
Код: plaintext
On Error GoTo  0 
сбрасывает установленный обработчик ошибок(типа catch {} в
C++)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ошибка 404
    #37371294
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос> Автор: Shocker.Pro
> Конечно обнуляет.


А мне, смутно помнится, что
Код: plaintext
On Error GoTo  0 
сбрасывает установленный обработчик ошибок(типа catch {} в
C++) все верно, одно другому не мешает
...
Рейтинг: 0 / 0
ошибка 404
    #37371315
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor701,
( Re: 11040297 )
этот код не рабочий.
Не обращая внимание на:
- асинхронное вуполнение запроса и возможное закрытие книги до оного завершения
- одну итерацию в цикле

по ссылке
http://catalog.auto.ru/catalog/cars/card/10013.html
запрос возвращает:
Ваш регион: выбратьЛегковые автомобилиГрузовые и коммерческиеБронеавтомобилиСпецтехникаРетро автомобилиАвтодомаМото и другиеАльтернативный транспортВодныйВоздушныйВелосипедыКупить купонТурагентство AUTO.RUКупить Б/У

сомневаюсь сильно, что вам нужна эта табличка.
Может всё-таки покажете Вашу процедуру получения данных из каталога http: //catalog.auto.ru/catalog/cars/
?
Если-таки наберётесь мужества, - перед копированием из редактора кода переключите раскладку на русскую.
...
Рейтинг: 0 / 0
ошибка 404
    #37371366
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFF> Автор: скукотища
> по ссылке
> http://catalog.auto.ru/catalog/cars/card/10013.html
> запрос возвращает:


Да?
А у меня такой симпатичный SAAB'чик показывает. Практически раритет!


> Автор: скукотища
> Если-таки наберётесь мужества, - перед копированием из редактора кода переключите раскладку на русскую.

+100500

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
ошибка 404
    #37371370
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offИгорь ГорбоносА у меня такой симпатичный SAAB'чик показывает. Практически раритет!
Продается с мельницей и мельничихой
...
Рейтинг: 0 / 0
ошибка 404
    #37371384
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,
ПОЛУОФФ:SAAB - на рисунке, рисунок НЕ в первой таблице, содержимое которой ТС якобы запрашивает...
...
Рейтинг: 0 / 0
ошибка 404
    #37371431
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor701,
если ещё интересно
Код: plaintext
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.
' начало Ваше процедуры, инициализация объектных переменных, etc ПОСКИПАНО
' NB! делать Excel видимым не надо

Dim k&, i&, s0$, MaxCardIndex&

s0 = "url;http://catalog.auto.ru/catalog/cars/card/"
MaxCardIndex =  10100  

With xl.Workbooks.Add.Worksheets( 1 )
With .QueryTables.Add(s0, .[A1])
    '.AdjustColumnWidth = True '<--излишество нехорошее
    '.RefreshPeriod = 0
    .WebSelectionType =  3  'xlSpecifiedTables==3
    .WebFormatting =  3  'xlWebFormattingNone==3
    .WebTables = "2" '<-- интересная таблица - _вторая_ на странице
    .MaintainConnection = False

    For i =  10012  To MaxCardIndex
        .Parent.Cells.Clear
        .Connection = s0 & CStr(i) & ".html"
        On Error Resume Next
        .Refresh BackgroundQuery:=False '<-- _СИНХРОННОЕ_ выполнение запроса
        k = Err.Number
        On Error GoTo  0 
        If k =  0  Then
            ds.AddNew
            ' parse querytable data, fill new record in recordset

            ds.Update
        Else
            ' do nothing
            ' or add url to 'blacklist'
            k =  0 
        End If
    Next i
End With
.Parent.Close False
End With
xl.Quit: Set xl = Nothing
ds.Close: Set ds = Nothing
End Sub
ЗЫ: и зачем Вам этот Excel с его QueryTable... Достаточно было бы ADO.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ошибка 404
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]