我想自動搜索字符串http://www.drugbank.ca/並獲取生成的網址(搜索字段位於頁面頂部)。只能通過操作URL來搜索網站。有沒有一種基於服務器的方式來做到這一點?我想創建我自己的網頁,輸入字段和按鈕「搜索DrugBank for X並獲取URL」。自動搜索網站字段並得到結果網址
謝謝。
我想自動搜索字符串http://www.drugbank.ca/並獲取生成的網址(搜索字段位於頁面頂部)。只能通過操作URL來搜索網站。有沒有一種基於服務器的方式來做到這一點?我想創建我自己的網頁,輸入字段和按鈕「搜索DrugBank for X並獲取URL」。自動搜索網站字段並得到結果網址
謝謝。
你需要得到的內容:
http://www.drugbank.ca/search?query=searchstring
你不能用JavaScript它不是由瀏覽器允許查詢不同域的網站(:http://en.wikipedia.org/wiki/Same_origin_policy因)做到這一點。
我會用PHP做到這一點,創建一個像searchDrugBank.php文件:
<?php
$urlContent = file_get_contents('http://www.drugbank.ca/search?query=' . $_GET['q']);
// process $urlContent however you want
?>
然後你把你的網站:
<form method="get" action="searchDrugBank.php">
<input type="text" name="q" />
<input type="submit" value="Search drugbank"/>
</form>
(既然你問)
要找到我要查詢的網址,我去了網站,查看了按下搜索時提交的表單(查看源代碼或查看源代碼容易做到「檢查元素」,例如searchbox或searchbutton)。
我發現,形式爲:
<form accept-charset="UTF-8" action="/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"></div>
<strong>Search:</strong>
<input id="query" name="query" placeholder="Search DrugBank" size="30" type="search">
<input name="commit" type="submit" value="Search">
<a href="/search/advanced">Help/Advanced</a>
</form>
這意味着,當你按下搜索,正是happends是,你會做一個GET請求,因爲方法=「獲得」並獲得請求意味着要求一個URL,如果需要參數,它們應該在URL中(http://en.wikipedia.org/wiki/Query_string#Web_forms)。
將要查詢的網址/搜索因爲行動是行動=「/搜索」的url然後將使用所提供的參數來構建其餘這裏它只是:
<input id="query" name="query" placeholder="Search DrugBank" size="30" type="search">
而且在那裏你可以看到名稱應該提供的參數進行搜索,即「查詢」!
謝謝。但是你怎麼知道你可以通過在URL中添加「search?query = searchstring」來獲取包含搜索字符串的URL?有沒有辦法解決這個問題? – 2013-02-15 23:32:32
我已經添加了這個信息,希望你能得到它。 (得到它!哈哈,明白嗎?) – netigger 2013-02-16 07:57:37
是什麼讓你認爲它不能通過操縱URL來搜索?當我搜索一些東西的時候,這個URL包含了我的查詢(然後你可以根據需要改變它)。 – unor 2013-02-16 16:56:22