美文网首页
爬取搜狗图片小试

爬取搜狗图片小试

作者: 河马咕嘟 | 来源:发表于2022-02-17 15:44 被阅读0次

一,分析网页源代码;二模拟请求操作;三解析网页内容;四,下载存储图片到自己要保存的路径

image.png image.png

代码:


image.png

cmd+alt+L:格式代码

import re
from xml import etree
import requests
import json
from urllib import request
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

全局取消证书验证

if name == 'main':

def downLoad():
    header = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15"
    }
    keyword = input("请输入爬取关键字:")
    print("开始搜索... ...")
    param = {
        "query": keyword,
        "model": "1",
        "start": "1",
        "xml_len": "48",
        "rawQuery": keyword,
        "st": "225",
    }
    url = "https://pic.sogou.com/napi/pc/searchList"
    response = requests.get(url=url, params=param, headers=header)
    jsonData = response.json()  # 请求到的图片json数据

    # 图片的数据分组存入本地文件
    imgArray = jsonData["data"]["items"]
    fp = open("./{}.json".format(keyword), "w", encoding="utf-8")
    json.dump(imgArray, fp=fp, ensure_ascii=False)
    print("{}张图片数组已经存入".format(len(imgArray)))
    # 遍历图片所在的数组存入本地
    order = input("是否下载图片到桌面 Y/N? :")
    if order == "Y":
        for item in imgArray:
            localPath = '/Users/tianxiang.wu/Desktop/images/%s.jpeg' % item["title"]  # 设置你的图片存储路径,并且给图片命名
            imgUrl = item["oriPicUrl"]  # 获取图片下载Url
            print(imgUrl)
            try:
                request.urlretrieve(imgUrl, localPath)
            except OSError as error:
                print("%s加载失败" % item["title"])
            else:
                print("... ... ")
        print("图片下载完成")
        return
    else:
        print("程序执行结束")

downLoad()

相关文章

网友评论

      本文标题:爬取搜狗图片小试

      本文链接:https://www.haomeiwen.com/subject/ljrslrtx.html