写个爬虫吧

2023-11-17

import requests

url = 'https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=0%2C0&fp=detail&logid=10936516020286848972&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=0&lpn=0&st=-1&word=%E9%AB%98%E6%B8%85&z=0&ic=&hd=&latest=&copyright=&s=undefined&se=&tab=0&width=&height=&face=undefined&istype=2&qc=&nc=&fr=&simics=&srctype=&bdtype=0&rpstart=0&rpnum=0&cs=4191142136%2C743401676&catename=&nojc=undefined&album_id=&album_tab=&cardserver=&tabname=&pn=0&rn=30&gsm=1e&1681623462653='

headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36X-Requested-With: XMLHttpRequest'
#'Cookie':'BDqhfp=美女&&-10-1undefined&&0&&1; BDIMGISLOGIN=0; winWH=^6_883x1042; BIDUPSID=2249E61E412A062BF74182296B03096D; PSTM=1654617428; BAIDUID=2249E61E412A062BDAB3549134A52CE8:FG=1; BAIDUID_BFESS=2249E61E412A062BDAB3549134A52CE8:FG=1; ZFY=bukO:BeE5wKcOXR1om2vydU8qz0Kg54J0OYfKQxQ6NeI:C; H_PS_PSSID=38515_36554_38470_38468_38375_38485_37920_37709_26350; delPer=0; PSINO=7; BA_HECTOR=818521ala02l0k2ka404a58q1i3n1tj1m; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; userFrom=www.baidu.com; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; cleanHistoryStatus=0; indexPageSugList=["高清","美女","飞船图标","飞船矢量图","飞船试炼图","pygame 外星人入侵 bmp","pygame 外星人入侵","外星人入侵","bmp"]; BDRCVFR[tox4WRQ4-Km]=mk3SLVN4HKm; ab_sr=1.0.1_ZDM4NWY0NDhjNjEyZTNiNzQyZWM4ZTNiMGZkZjAwMWY2YjdiMWZiZTYzMzBkMDk2NjVhZjhkMTJiN2UxZmQzOWQ1YzEwYTkxZDczYWFhZDRlOWViMGNjZjkyMmRjZjQ2ZmNhNzU3OGM4MDBlNDkzMTQyMWZlZGU5ZDRkYTY1YTQwNzU3M2QwM2M2ODBjOWYwZTZjNzQ2MjhlZWYyNzM3Mg=='
}

response = requests.get(url,headers=headers)

res = response.json()
data = res['data']
replaceUrl = data[0]['replaceUrl'][0]['ObjUrl']
urls = []
num = 0
try:
    for url in data:
        num = num+1
        if num < len(data):
            # print(data[num]['replaceUrl'][0]['ObjUrl'])
            # print(len(data[num]['replaceUrl'][0]['ObjUrl']))
            if len(data[num]['replaceUrl'][0]['ObjUrl']) < 100:
                urls.append(data[num]['replaceUrl'][0]['ObjUrl'])
except KeyError as e:
    print("error ")
print(urls)

header1 = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36X-Requested-With: XMLHttpRequest',
'Referer':'https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E9%AB%98%E6%B8%85&step_word=&hs=0&pn=2&spn=0&di=7207123747399008257&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=2&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=-1&cs=4191142136%2C743401676&os=4072938957%2C2754952205&simid=4144708455%2C575913095&adpicid=0&lpn=0&ln=1659&fr=&fmq=1681623396531_R&fm=result&ic=&s=undefined&hd=&latest=&copyright=&se=&sme=&tab=0&width=&height=&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fpic1.win4000.com%2Fwallpaper%2F2018-10-15%2F5bc4612b7f826.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Botg9aaa_z%26e3Bv54AzdH3Fowssrwrj6_kt2_8c8dl9_z%26e3Bip4s&gsm=1e&rpstart=0&rpnum=0&islist=&querylist=&nojc=undefined&dyTabStr=MCwzLDEsNiw0LDUsMiw3LDgsOQ%3D%3D'
}
#循环下载图片
for url in urls:
    try:
        picture = requests.get(url, headers=header1)
        print(picture)
        content = picture.content
        file_name = url.split('/')[-1]
        print(file_name)
        with open(file_name,"wb") as f:
            f.write(content)
    except Exception as e:
        print("eoor")
# picture = requests.get(replaceUrl,headers=header1)
# content = picture.content
# file_name = replaceUrl.split('/')[-1]
# print(file_name)
# with open(file_name,"wb") as f:
#     f.write(content)

过程中遇到402错误,需要在headers中加入refeer参数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

写个爬虫吧 的相关文章

随机推荐

  • Mac VS Code 如何去除右边的预览功能

    取消选中Minimap即可
  • Scala中的高阶函数

    1 定义 当一个函数 func1 中的 参数列表 传入的是函数 那么函数func1 就是高阶函数 上边几个函数可以 提炼出为一个高阶函数 因为 他们只是 黄线标志的部分不同 我们可以 定义一个 函数作为作为参数传递进去 来提取为 一般规律
  • opencv+nvcodec实现视频硬解码

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 系统配置 前言 一 NVCODEC是什么 二 OpenCV编译 1 安装Driver CUDA 2 编译OpenCV 总结 系统配置 操作系统 Ubuntu18 0
  • SpringMVC的拦截器

    SpringMVC的拦截器 SpringMVC的拦截器 SpringMVC的拦截器 01 SpringMVC拦截器 拦截器的作用 理解 02 SpringMVC拦截器 interceptor和filter区别 理解 记忆 03 Spring
  • style-components的熟练运用

    安装 首先下一个包 npm install save styled components 使用 创建组价以及根据属性加样式 import React Component from react import styled from style
  • driver.get_screenshot_as_file()没有保存图片的原因

    部分代码如下 cur time time strftime Y m d H M S filename os path dirname os path abspath screenshot cur time png driver get sc
  • JavaScript:实现简易计算功能

    JavaScript 实现简易计算功能 body部分
  • 数据结构:手撕图解单链表---phead的多种传参方式对比和辅助理解

    文章目录 为什么要引入链表 单链表 单链表的定义和原理 单链表的头插 对于指针的深层次理解 链表的尾插 封装malloc函数 尾删 头删 查找 链表中元素的插入 在某节点前插入 在某节点后插入 链表中元素的删除 删除pos位置的值 删除po
  • umi学习总结

    文章目录 umi介绍 umi是什么 umi的特性 开发环境 Node js 依赖管理工具 目录结构 路由 配置路由 页面跳转 Link组件 路由组件参数 路由动态参数 query信息 样式 使用css样式 dva 为什么需要状态管理 umi
  • Qt弹出窗口

    Qt弹出Widget窗口置顶 1 需求 Widget每次都弹出且为非模态窗口 2 老版代码 if widget NULL widget new QWidget widget gt show 想象 弹出窗口后 如果发生窗口切换 再次点击时 弹
  • Go语言常用的标准库

    文章目录 打印日志 系统调用命令 json的序列化和反序列化 base64 压缩和解压 标准输入 文件操作 目录操作 init函数 包的可见性 数学库 生成随机数 时间函数 打印日志 package main import log os f
  • Java内存回收机制

    C C 等语言中 内存的分配和释放由程序代码来完成 容易出现由于程序员漏写内存释放代码引起的内存泄露 最终导致系统内存耗尽 Java代码运行在JVM中 由JVM来管理 堆Heap 内存的分配和回收 Garbage Collection 把程
  • 接口如何处理重复请求?

    本文主要来源于 处理重复请求的三种方式 服务端如何高效的处理重复请求 对其整理和总结 用于学习记录 重复请求常用的处理方式就是幂等性处理 幂等性可以理解为 无论执行了多少次重复请求 数据只会处理一次 在数据库里也只会有一条数据 和数据库的唯
  • 以太坊智能合约各方法对应的签名编码

    erc20智能合约常见方法对应的签名编码 常见例如交易 transfer address uint256 编码为 web3 sha3 transfer address uint256 substring 0 10 gt 0xa9059cbb
  • Solidity合约中Merkle Root验证的一点实践

    背景 在上一篇文章 Solidity合约中签名验证的一点实践 中提到过 白名单机制一般有两种 除了签名验证的方式外 就是本文讲述的Merkle Root验证的方式 主要做法是在服务端对白名单地址列表整体构建Merkle树 计算出树的root
  • 解决Hbase报错java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for....

    完整报错为 java lang IllegalStateException The procedure WAL relies on the ability to hsync for proper operation during compo
  • set的使用

    创建集合 set 1 2 3 4 转化为列表list 1 如果我要在许多列表中找出相同的项 那么用集合是最好不过的了 用集合只用一行就可以解决 x y z 交集 2 去重 gt gt gt lst 1 2 3 4 1 gt gt gt pr
  • 毕业那天我们一起失恋

    毕业那天我们一起失恋 原载 婚姻家庭 VOL 1大四快开学了 我提前了几天来学校 俗话说 磨刀不误砍柴功 我提早来学校 把床铺好 把蚊帐挂起来 把厕所弄干净 把寝室打扫一下 寝室里只有我做这种打扫的事情 寝室有三个人 我一个 丸子一个 还有
  • 【翻译】对计算机未来的10个预测或;我们的首席科学家的无稽之谈

    TLDR WASM将无处不在 编译目标 部署目标 物联网 插件生态系统 这已经在发生了 1 5年 Rust将继续流行 根据RedMonk的指数 在未来几年将超过Go 2 4年 将出现一个严重的Kubernetes的对手 如果它使用WASM并
  • 写个爬虫吧

    import requests url https image baidu com search acjson tn resultjson com ipn rj ct 201326592 is 0 2C0 fp detail logid 1