При выполнении поиска на этом веб-сайте он просто загружает страницу с определенной строкой URL-запроса ...
https://isbnsearch.org/search?s=suess
В приведенном выше примере, когда я ищу "suess", вы можете легко объединить поисковый URL.
Вы можете использовать любой компонент HTTP, например, TIdHTTP
, чтобы загрузить эту страницу поиска, а затем использовать анализатор HTML, чтобы очистить страницу и прочитать то, что вам нужно. Гораздо проще, чем пытаться прочитать TWebBrowser
.
![enter image description here](https://i.stack.imgur.com/kRHwE.png)
В конце концов, вы на самом деле не будете отображать HTML (я имею в виду, что можете, если хотите), но идея заключается в том, чтобы прочитать данные и отобразить их в своем собственном формате.
На этой конкретной странице начните с поиска элемента ul
с идентификатором searchresults
. Затем каждый элемент li
содержит индивидуальные результаты. К сожалению, этот сайт использует нумерацию страниц и показывает только 10 результатов на страницу. Для этого снова вызовите эту страницу с другим параметром &p=2
для 2-й страницы, &p=3
для 3-й страницы и т. Д.
С другой стороны, это худший способ получения такой информации. То, что вы должны делать, это использовать правильный API, который предоставляет вам удобные для машин данные. Служба, на которую вы ссылаетесь, похоже, не имеет опции, но вот пример такой, которая делает:
https://openlibrary.org/dev/docs/api/books - эта информация также предоставляет вам НАМНОГО больше информации, чем та, которую вы используете.