Невозможно собрать все узлы результатов поиска Google с помощью goquery: некоторые узлы отсутствуют - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь собрать результаты страницы поиска Google в GoLang, используя библиотеку goquery. Чтобы добиться этого, я собираю все узлы выбора goquery с помощью goquery. Проблема в том, что выборка, возвращаемая Find ("*"), кажется, не содержит все узлы HTML-документа. Вопрос: метод собирает ВСЕ узлы с целой структурой дерева или нет? Если нет, есть ли способ собрать их все?

Я попытался с помощью метода goquery Find ("*") применить ко всему выбору документа. Таким образом, узлы с определенными атрибутами не возвращаются, хотя они есть в документе HTML. Например, узлы с не распознаны

alltags: = doc.Find ("*") // документ является документом HTML с поиском Google

Выбор не содержит тегов div с class = "srg". То же самое относится и к другим значениям класса, таким как "bkWMgd", например, "rc".

1 Ответ

0 голосов
/ 24 мая 2019

Это случилось со мной раньше. Я пытался поковыряться в паутине с красивой упаковкой супа python, и то же самое происходило.

Позже выяснилось, что html-разметка возвращалась при попытке получить ее, на самом деле это была разметка, которую сервер вернул после поиска бота. Я решил это, установив User-Agent в Mozilla/5.0.

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

...