Я пытаюсь развить свои навыки программирования, я пытался создать своего рода собственный клиент для просмотра поисковых запросов Google.
Я не хочу использовать API Google, в основном потому, что мне кажется, что это избавит от многих интересных программ.
Я попытался загрузить веб-страницы с намерением проанализировать HTML. Однако, когда я загрузил страницу поиска, я не смог найти никаких полезных данных, таких как URL-адреса, которые я видел на исходной странице.
Вот пример поиска по слову «файл».
Кто-нибудь знает, как правильно скачать html страницы?
Заранее спасибо
2 ответа
То, что вы пытаетесь сделать, называется веб-парсингом или попыткой извлекать контент с веб-сайтов, делая вид, что вы загрузили страницу через браузер, а затем получать доступ к загруженному контенту, просматривая и выбирая фрагменты кода страницы. Иногда это может работать довольно хорошо (есть целые компании, занимающиеся парсингом веб-страниц!), А иногда и не очень - это один из них.
Поскольку вы по существу копируете код страницы напрямую, а не просматриваете его через настоящий браузер, ни один из JavaScript, который загружает динамический контент, не выполняется, и, следовательно, ни один из контента, который вы ищете, не загружается должным образом. Вы загрузили (в основном) JavaScript с самой страницы, который отвечает за загрузку контента, но он не запускается.
Вместо этого попробуйте загрузить страницу с результатами поиска, уже обработанными Google (а не с результатами, загружаемыми динамически), например, этот поиск для "test" в Google. Обратите внимание на разницу в URL-адресах между этим поиском и этим, который загружает результаты для "test "динамически.
Вот как получить HTML:
Dim WebRequest As HttpWebRequest = TryCast(HttpWebRequest.Create(SearchString), HttpWebRequest)
Dim WR As HttpWebResponse = TryCast(WebRequest.GetResponse(), HttpWebResponse)
Dim receiveStream As Stream = WR.GetResponseStream()
Dim readStream As New StreamReader(receiveStream, Encoding.UTF8)
Dim Page As [String] = readStream.ReadToEnd()
Я бы использовал HtmlAgility Pack для его анализа.
Похожие вопросы
Новые вопросы
html
HTML (язык гипертекстовой разметки) — это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы относительно HTML должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто в паре с [CSS] и [JavaScript].