Связывание данных сайта с таблицей Excel
Не уверен, что то, что я пытаюсь сделать, вообще возможно, но я решил спросить. У меня есть электронная таблица приличного размера со спецификациями от сотен различных смартфонов, над которыми я работаю как своего рода любимый проект для себя и технический форум, в котором я участвую. Одна из колонок, которую я имею, - это "Количество поклонников" от GSMarena.com. как способ количественной оценки популярности и интереса к устройству. (два других столбца слева - "Рейтинг персонала PhoneArena" и "Рейтинг пользователей PhoneArena".)
На данный момент все, что я делал, это вводил сумму вручную, но это может быть утомительно с таким количеством телефонов и с тем, как часто меняется номер. Что я хотел бы знать, так это то, есть ли какой-нибудь способ автоматически извлечь число "Количество поклонников" из исходных данных веб-страницы телефона x?
Очевидно, что я не смог бы заставить его искать по каждому телефону, но если бы я мог, по крайней мере, вставить исходную информацию для каждого телефона и получить номера, а затем обновить их, этого было бы достаточно.
1 ответ
Вот хороший пример для начала. Как я уже говорил в своем комментарии, вам нужно будет использовать VBA для достижения того, чего вы хотите. Основной метод - использовать VBA для запуска Internet Explorer, а затем вернуть HTML-код. Из этого кода вам нужно будет просмотреть текст, чтобы узнать, где находится ваш номер.
Ниже приведен метод для возврата HTML для страницы:
Sub getData()
Dim url As String
Dim ie As Object
Dim state As Integer
Dim text As Variant
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = 0
url = "http://www.eoddata.com/stockquote/NASDAQ/AAPL.htm"
ie.Navigate url
state = 0
Do Until state = 4
DoEvents
state = ie.readyState
Loop
text = ie.Document.Body.innerHTML
End Sub
Очевидно, вы измените URL на URL вашего сайта. Как только вы это настроите, переменный текст в конце будет содержать HTML, так что используйте любой творческий метод, который вы хотите пройти через этот код. Вы захотите узнать, как использовать команды MID, FIND и TRIM.
Надеюсь, это, по крайней мере, поможет вам начать