融汇木子 发表于 2022-5-17 15:58

你能想象?python爬虫自动爬取百度图片

import requests
import re
def getHtml(url,object):
    hd = {'User-Agent':'Mozilla/5.0','Accept':r'text/html,application/xhtml+xml,*/*'}
    try:
      response = requests.get(url+object,timeout=10,headers=hd)
      response.raise_for_status()
      response.encoding = response.apparent_encoding
      return response.text
    except:
      return None

import os
object = input("请输入要查找的目标:")
while True:
    num = int(input("计划下载图片数:"))
    if num<=0:
      print("数量非法,必须重新输入")
    else:
      break
file_path = "D:/pics"
obj_url = "https://image.baidu.com/search/index?ct=201326592&cl=2&st=-1&lm=-1&nc=1&ie=utf-8&tn=baiduimage&ipn=r&rps=1&pv=&fm=rs5&word="
if not os.path.exists(file_path):
    os.mkdir(file_path)
if not os.path.exists(file_path+os.sep+object):
    os.mkdir(file_path+os.sep+object)
else:
    if len(os.listdir(file_path+os.sep+object)) != 0:
      print("文件已存在")
      exit()
format_str = r'thumbURL":"(https://[^"]+.jpg)'
text = getHtml(obj_url,object)
if text == None:
    print("网址访问异常")
    exit()
content = re.findall(format_str,text)
content = iter(content)
for i in range(num):
      try:
            with open(file_path+os.sep+object+os.sep+str(i)+".jpg",'wb') as f:
                respon = requests.get(next(content))
                f.write(respon.content)
      except:
            print("爬虫程序提前结束,已经达到最大搜索上限!")
            break

空城^ 发表于 2022-5-17 17:18

爬的 缩略图

cdsgg 发表于 2022-5-17 16:22

我猜你下载的不是原图原图需要逆向js获得原图地址 {:1_926:}

lyisme 发表于 2022-5-17 17:27

我有个疑问,爬虫是什么东西

Eternidad-Li 发表于 2022-5-17 18:30

lyisme 发表于 2022-5-17 17:27
我有个疑问,爬虫是什么东西

通过程序,自动获取网络上的资源,例如数据(二手房源),音乐,图片等

XiaoZouYu 发表于 2022-5-17 21:50

Eternidad-Li 发表于 2022-5-17 18:30
通过程序,自动获取网络上的资源,例如数据(二手房源),音乐,图片等

我觉得解释成模拟各种客户端,像服务器请求数据保存易懂:lol
页: [1]
查看完整版本: 你能想象?python爬虫自动爬取百度图片