Связывание данных сайта с таблицей Excel

490
Jacob K

Не уверен, что то, что я пытаюсь сделать, возможно, но я решил спросить. У меня есть электронная таблица приличного размера со спецификациями от сотен различных смартфонов, над которыми я работаю как своего рода любимый проект для себя и технический форум, в котором я участвую. Одна из колонок, которую я имею, - это «Количество поклонников» от GSMarena.com. как способ количественной оценки популярности и интереса к устройству. (два других столбца слева - «Рейтинг персонала PhoneArena» и «Рейтинг пользователей PhoneArena».) GSM Arena Fan Count

На данный момент все, что я делал, это вводил сумму вручную, но это может быть утомительно с таким количеством телефонов и с тем, как часто меняется номер. Что я хотел бы знать, так это то, есть ли какой-нибудь способ автоматически извлечь число «Количество поклонников» из исходных данных веб-страницы телефона x?

enter image description here

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

0
Возможно = да. Сложно также = несколько да. Вам, без сомнения, нужно будет использовать vba, но есть несколько методов, которые позволяют вам скачивать веб-страницы по URL и просматривать их HTML-форму. Если у вас есть html, просто разбирайте его, чтобы найти свой номер Eric F 8 лет назад 0

1 ответ на вопрос

1
Eric F

Вот хороший пример для начала. Как я уже говорил в своем комментарии, вам нужно будет использовать 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.

Надеюсь, это, по крайней мере, поможет вам начать

Спасибо за информацию. Похоже, мне нужно начать изучать VBA. Jacob K 8 лет назад 0
Это действительно единственный способ и не так уж плохо учиться. По крайней мере, у вас есть хороший пример для начала. Eric F 8 лет назад 0

Похожие вопросы