powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Неожиданная проблема с парсингом
3 сообщений из 3, страница 1 из 1
Неожиданная проблема с парсингом
    #39748925
maxim863
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть прога , которая парсит сайт . Работает идеально (на windows 7) . Но после покупки нового компа (и установки windows 10) начались проблемы . Выскакивает ошибка Run-time error ‘-2146697211(800c0005)’ в строке
Код: vbnet
1.
oHttp.Send

Причем ровно после того , как изменяется переменная S .
После этого скорость интернета падает до 0 и восстанавливается только спустя некоторое время . Bluetooth отключен . Понимаю что вопрос слегка не по теме , но может кто-нибудь сталкивался с такой проблемой ?

Код: vbnet
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.
Sub Softочки()
Application.DisplayAlerts = False
Call mainмассивы
Application.DisplayAlerts = True
End Sub


Sub mainмассивы()
    Dim r As Range
    Dim iLoop As Long
    Dim book1 As Workbook
    Dim book2 As Workbook
    Dim Ssilka As String
    Dim A As Long
    Dim S As Long
    Dim t As Long
    Dim W
    
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    
    W = Array("прошлый", "допрошлый", "додопрошлый")
   
For S = 1 To 2
 Set book1 = Workbooks.Open("E:\Поиск решения\Усов 7\вспомогательные программы\3 сезона\" + W(S) + "\таблица.xlsm")
  For t = 1 To 98
    Set book2 = Workbooks.Open("E:\Поиск решения\Усов 7\вспомогательные программы\3 сезона\" + W(S) + "\" & t & ".xlsm")
   
     
        With book1.Worksheets("таблица").Range("AF34:AF53")
           iLoop = 0
             For Each r In .Rows
              
            If r.Value = 5 Then
                  iLoop = iLoop + 1
                  Ssilka = r.Offset(0, -30).Hyperlinks.Item(1).Address
                  book2.Worksheets("Лист" & iLoop).Activate
                  extractTable Ssilka, book2, iLoop
              End If
            Next r
        End With

  book2.Save
  book2.Close
   Next t
     book1.Close
 Next S
 
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
  Application.EnableEvents = True
  
   End Sub


Function extractTable(Ssilka As String, book2 As Workbook, iLoop As Long)
    Dim oDom As Object, oTable As Object, oRow As Object
    Dim iRows As Integer, iCols As Integer
    Dim x As Integer, y As Integer
    Dim data()
    Dim vata()
    Dim tata()
    Dim oHttp As Object
    Dim oRegEx As Object
    Dim sResponse As String
    Dim oRange As Range
    Dim odRange As Range
    
    ' get page
    Set oHttp = CreateObject("MSXML2.XMLHTTP")
    oHttp.Open "GET", Ssilka, False
    oHttp.Send
    
    ' cleanup response
    sResponse = StrConv(oHttp.responseBody, vbUnicode)
    Set oHttp = Nothing
    
    sResponse = Mid$(sResponse, InStr(1, sResponse, "<!DOCTYPE "))
    
    Set oRegEx = CreateObject("vbscript.regexp")
    With oRegEx
        .MultiLine = True
        .Global = True
        .IgnoreCase = False
        .Pattern = "<(script|SCRIPT)[\w\W]+?</\1>"
        sResponse = .Replace(sResponse, "")
    End With
    Set oRegEx = Nothing
    
    ' create Document from response
    Set oDom = CreateObject("htmlFile")
    oDom.Write sResponse
    DoEvents
    
    ' table with results, indexes starts with zero
    Set oTable = oDom.getelementsbytagname("table")(3)
    
    DoEvents
    
    iRows = oTable.Rows.Length
    iCols = oTable.Rows(1).Cells.Length
    
    ' first row and first column contain no intresting data
    ReDim data(1 To iRows - 1, 1 To iCols - 1)
    ReDim vata(1 To iRows - 1, 1 To iCols - 1)
    ReDim tata(1 To iRows - 1, 1 To iCols - 1)
    ' fill in data array
    For x = 1 To iRows - 1
        Set oRow = oTable.Rows(x)
        
        For y = 1 To iCols - 1
             If oRow.Cells(y).Children.Length > 0 Then
                data(x, y) = oRow.Cells(y).getelementsbytagname("a")(0).getattribute("href")
                    data(x, y) = Replace(data(x, y), "about:", "http://allscores.ru/soccer/")
                vata(x, y) = oRow.Cells(y).innerText
                
            End If

        Next y
    Next x
    
    Set oRow = Nothing
    Set oTable = Nothing
    Set oDom = Nothing
    
   
     Set oRange = book2.ActiveSheet.Cells(110, 2).Resize(iRows - 1, iCols - 1)
    oRange.NumberFormat = "@"
    oRange.Value = data
    
    Set odRange = book2.ActiveSheet.Cells(34, 2).Resize(iRows - 1, iCols - 1)
    odRange.NumberFormat = "@"
    odRange.Value = vata
    
    
    Set odRange = Nothing
    
   
End Function


...
Рейтинг: 0 / 0
Неожиданная проблема с парсингом
    #39750301
ldfanate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxim863,

ну видимо после изменения S из другого файла подтягивается кривая ссылка на сайт. Или например на сайт который отдаёт кривой сертификат безопасности (ssl-авторизация), и новая винда (безопасность браузера) блокирует ссылку как подозрительную.

Посмотри в системном журнале windows, что там падает при возникновении такой ошибки.
Если https-ссылка, то возможно перед send присвоить oHtttp.setOption SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, "true"
...
Рейтинг: 0 / 0
Неожиданная проблема с парсингом
    #39751233
maxim863
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ldfanate,
Посмотрел в системном журнале windows : Security-SPP ; DistributedCOM (не совсем понял , что это значит )
Но затем я отключил Защитник Windows . Получил тот же результат .
Потом я зашел в старый ноут (windows 7) , включил прогу-все отлично запарсило , но параллельно на новом компе (Windows 10) опять отключился интернет , хотя на мобиле и старом компе он работал отлично .
Вывод : это точно делает Windows 10 , только не понятно что это делает и как это исправить/отключить ?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Неожиданная проблема с парсингом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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