03_Python爬蟲入門遇到的坑__向搜索引擎提交關鍵字01

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搜索

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可以向網站發起搜索,但是需要自己找到對應的接口,因此如何獲取接口雖然是簡單的,但是必備的.

原文地址:https://www.cnblogs.com/ltozvxe/p/12866632.html