Web Scraping в Excel VBA код не работает - PullRequest
0 голосов
/ 07 ноября 2019

Мне нужна электронная таблица Excel, где у меня есть таблица, которую я могу заполнить "Site where I want to collect data", "the code or product name I want to search" и "t he zip code where the product will be delivered", и при этом таблица будет копироваться с сайта и вставляться вЭлектронная таблица "FREIGHT VALUE".

Мне нужно сделать это с сайтами розничной торговли, такими как Lojas Americanas, Magazine Luiza или любым другим, которые имеют стоимость фрахта. Мне нужно, чтобы код был редактируемым, чтобы его можно было использовать для любого такого сайта.

Возможно ли это?

Я получил на полпути код, который мне удалось собрать в VBAЯ смог сделать код открытым Internet Explorer и войти на сайт, который я хочу, именно в том продукте, который я выбрал. Но я не мог сделать код, который может сделать все остальное, который бы поставил нужный почтовый индекс, выполнить поиск груза, скопировать стоимость груза и вставить в электронную таблицу Excel.

Вот ниже (у меня неткод еще не закончен):

TABLE

Sub lReferenciaIE()

Dim ObRef

On Error Resume Next

ThisWorkbook.VBProject.References.AddFromGuid "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 1, 1

End Sub

Sub lsSearchFreight()

lReferenciaIE

Dim ie                  As Object
Dim doc                 As HTMLDocument
Dim lNomProd            As String
Dim lCodProd            As String
Dim lCepProd            As String

Set ie = New InternetExplorer

ie.Visible = True

url_name = Worksheets("Plan1").Range("E2")

If url_name = "" Then Exit Sub

    lCodProd = Range("A2").Value
    lNomProd = Range("B2").Text
    lCepProd = Range("C2").Value

    ie.Navigate (url_name) & "produto/" & lCodProd & "?pfm_carac=0&pfm_index=0&pfm_page=search&pfm_pos=grid&pfm_type=search_page%20&sellerId"

    While ie.ReadyState <> READYSTATE_COMPLETE
    Wend

    sng = Timer
    Do While sng + 5 > Timer
    Loop

    Set doc = ie.Document

    ie.Document.getElementById("freight-field").Value = lCepProd

    ie.Document.getElementById("freight-field-button").Click

MsgBox "Value OK!"

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...