Я создаю функцию сканирования Google. Я использую HTMLunit с Selenium для получения HtmlPage.
Теперь, чтобы собрать ссылки для моего сканера, я использую Google Queries в качестве поисковой системы. Например, если вы наберете site: westminster.a c .uk внутри панели Google, он вернет ссылки, которые Google нашел в этом домене. Таким образом, я работаю со страницей ответа. Приведенный ниже код получает страницу ответа и собирает все ссылки, образующие их, в FullyQualifiedURls 1), а затем возвращает вывод в формате ниже 2):
1)
for (HtmlAnchor anchor : anchors) {
URL url = ((HtmlPage) anchor.getPage()).getFullyQualifiedUrl(anchor.getHrefAttribute());
System.out.println(url);
}
2) Вывод :
https://www.google.com/url?q=https: // www.westminster.ac.uk/current-students&sa=U&ved=2ahUKEwiigpmbjM_pAhVt-ioKHfjLB284eBAWMAd6BAgGEAE&usg=AOvVaw16er8a2rbrAllXKhAM9Ebm
https://www.google.com/url?q=https: //libguides.westminster.ac.uk/cambridge_elements&sa= U & ved = 2ahUKEwiigpmbjM_pAhVt-ioKHfjLB284eBAWMAl6BAgEEAE & usg = AOvVaw0MxDdoplvfRHZJSzlK6lyB
Как вы можете видеть, что в URls есть запрос google.com, для чего нужен запрос google. Например, https://www.westminster.ac.uk/current-students и https://libguides.westminster.ac.uk/cambridge_elements без части хоста и без параметров Google в конце строк.
Я пытался использовать url.getQuery ( ). Однако он по-прежнему возвращает
q = https://www.westminster.ac.uk/current-students/&sa=U&ved=2ahUKEwi2v5jrkM_pAhXGxMQBHfXlD8Q4eBAWMAR6BAgGEAE&usg=AOvVaw35sLgSw0pSIs5XCDi1eLTJ
Есть идеи, как от него избавиться? Без выполнения строковых встроенных функций?