[toc]

0、爬取目标

image.png
输入需要翻译的词句,页面会有翻译的详细信息,对翻译详细信息进行爬取。

1、爬取分析

1.1 当输入翻译词时,会发送请求,进行获取数据局部刷新。如下为局部实时请求返回数据:

image.png

右部分翻译内容请求为如下:
image.png

2、请求组装

    # 一、请求组装
    # ---------------------------------------------
    # 1、url
    url = "https://fanyi.baidu.com/sug"

    # 2、参数
    kw = input("请输入翻译词:")
    params = {
        "kw": kw
    }

    # 3、UA伪装  为了防止反爬虫,使自己的小爬虫伪装为浏览器
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"
    }
    # ---------------------------------------------

3、发起请求

    # 2、发起请求
    # ---------------------------------------------
    response = requests.post(url=url, params=params, headers=headers)
    # ---------------------------------------------

4、响应解析

    # 3、响应解析
    # ---------------------------------------------
    # 响应解析为json
    response_json = response.json()
    # ---------------------------------------------

5、持久化

    # 4、持久化
    # ---------------------------------------------
    # 存储的路径和名称
    file_url = "./"
    file_name = kw + ".json"
    save_url = file_url + file_name
    # 保存
    with open(save_url, "w", encoding="utf-8") as fs:
        json.dump(response_json, fs, ensure_ascii=False)
    print("爬出成功^v^")
    # ---------------------------------------------

6、整体代码

#!/usr/bin/env python
# _*_ coding: utf-8 _*_
import requests
import json

if __name__ == '__main__':
    # 一、请求组装
    # ---------------------------------------------
    # 1、url
    url = "https://fanyi.baidu.com/sug"

    # 2、参数
    kw = input("请输入翻译词:")
    params = {
        "kw": kw
    }

    # 3、UA伪装  为了防止反爬虫,使自己的小爬虫伪装为浏览器
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"
    }
    # ---------------------------------------------

    # 2、发起请求
    # ---------------------------------------------
    response = requests.post(url=url, params=params, headers=headers)
    # ---------------------------------------------

    # 3、响应解析
    # ---------------------------------------------
    # 响应解析为json
    response_json = response.json()
    # ---------------------------------------------

    # 4、持久化
    # ---------------------------------------------
    # 存储的路径和名称
    file_url = "./"
    file_name = kw + ".json"
    save_url = file_url + file_name
    # 保存
    with open(save_url, "w", encoding="utf-8") as fs:
        json.dump(response_json, fs, ensure_ascii=False)
    print("爬出成功^v^")
    # ---------------------------------------------

7、运行测试
image.png

image.png
image.png

Q.E.D.


只有创造,才是真正的享受,只有拚搏,才是充实的生活。