1. 程式人生 > 實用技巧 >案例4 百度搜索爬蟲

案例4 百度搜索爬蟲

import requests
import os

# 偽造請求頭
headers = {
    "User-Agent": "請求頭",
}


def baidu_spider(kw):
    """百度搜索 爬蟲應用"""

    # 傳送請求,獲取響應資料
    ps = {"wd": kw}
    resp = requests.get("https://www.baidu.com/s?", params=ps, headers=headers)
    # 儲存資料
    # resp.encoding = "UTF-8"
    # _save_data(resp.text)
    # ② 儲存資料
    _save_data_binary(resp.content)


def _save_data(content: str) -> None:
    """儲存資料"""
    # 判斷儲存資料的資料夾是否存在,不存在->建立
    _verify_data_diractory()
    # 儲存資料
    with open("data/baidu_search2.html", mode="w") as file:
        file.write(content)


def _save_data_binary(content: bytes) -> None:
    """儲存資料"""
    # 判斷儲存資料的資料夾是否存在,不存在->建立
    _verify_data_diractory()
    # 儲存資料
    with open("data/baidu_search.html", mode="wb") as file:
        file.write(content)


def _verify_data_diractory():
    """驗證資料資料夾是否存在"""
    # 判斷儲存資料的資料夾是否存在,不存在->建立
    if not os.path.exists("data"):
        os.mkdir("data")


kw = input("請輸入要搜尋的關鍵詞:")
baidu_spider(kw)