Как получить URL-адреса из запросов Google в Java - PullRequest
0 голосов
/ 25 мая 2020

Я создаю функцию сканирования 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

Есть идеи, как от него избавиться? Без выполнения строковых встроенных функций?

...