3. 向360搜索提交問題:
使用代碼模擬使用360搜索.大概就是要得到下面這個頁面.
首先我們要知道360給出的接口是:https://www.so.com/s?q=kewword
其中的keyword就是我們提交的關鍵字.
這時候我們可以使用一個字典向瀏覽器提交關鍵字:
kv = {"q": "python"}
然後使用params屬性提交這個自帶即可.
示例代碼如下:
import requests # 接口 url = "https://www.so.com/s?" # 需要提交的字典(我們要搜索的內容,此處假設為python) kv = {"q": "python"} # 訪問偷 head = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36", } try: # 請求頁面 r = requests.get(url, headers=head, params=kv) # 判斷請求狀態 r.raise_for_status() # 輸出源碼 print(r.text) print("成功!!") except: print("頁面獲取失敗!")
如何獲取接口:
所謂的接口說白了就是某個特定格式的URL.
1. 打開360搜索
2. 搜索任意關鍵字,最好比較有識別度,我這裡搜索:好看的小姐姐
3. 點擊搜索,并獲得此時的鏈接:https://www.so.com/s?ie=utf-8&fr=none&src=home_www&nlpv=3.8.045ayc&q=%E5%A5%BD%E7%9C%8B%E7%9A%84%E5%B0%8F%E5%A7%90%E5%A7%90
(鏈接粘貼出來關鍵字會變成亂碼,所以後面一長串奇奇怪怪的東西就是你原本輸入的關鍵字)
4. 獲取接口:其實取得這個鏈接的時候你已經取得了接口,因為你只需要替換到關鍵字就可以了,但是我們還能把這個接口縮短一點.
4.1. 確定要保留的:
4.1.1. 問號之前的內容全部保留
4.1.2. 關鍵字等號兩邊(包括等號)是要保留的,左邊截止到"&"符號,右邊截止到關鍵字結束
4.2. 其餘的全部刪除,剩下的部分就是(簡短)接口
總結:使用params可以向網站發起搜索,但是需要自己找到對應的接口,因此如何獲取接口雖然是簡單的,但是必備的.