python爬取豆瓣图片到本地,并用java上传至服务

news/2024/11/29 4:00:15/

换行缩进不要用tab键!!!!

import requests
import urllib
import json
import os,sys
from lxml import etreedef main():f = open('test1.txt', 'w')path = os.getcwd()+'/image';print(path)if not os.path.isdir(path):os.makedirs(path)for i in range(1):url = 'https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start='+str(i*20)print(url)data = requests.get(url)res = json.loads(data.text)result = []for x in res["subjects"]:result.append(x["cover"])for i in range(0, len(result)):f.write(result[i]+'\n')filename = result[i].strip().split('/')[-1]print(result[i])#urllib.request.urlretrieve(result[i], filename)imagepath = path+"/"+filenameresponse = urllib.urlopen(result[i])cat_img = response.read()with open(imagepath, 'wb') as tag:tag.write(cat_img)if __name__ == '__main__':main()

数据从豆瓣的接口中获取的,并非是返回的网页中通过正则获取。

 url = 'https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start='+str(i*20)

因此,把返回的数据进行json化,然后获取其中的list.

  data = requests.get(url)res = json.loads(data.text)

在这里插入图片描述
循环获取subjects中的元素的cover,写入到result中。

 result = []for x in res["subjects"]:result.append(x["cover"])

第一层for循环是为了改变页码,获取更多信息。

1.打开文件,写入数据

 f = open('test1.txt', 'w')

2.文件存放路径

path = os.getcwd()+'/image';
if not os.path.isdir(path):os.makedirs(path)

3.获取爬去链接的后面的名字

filename = result[i].strip().split('/')[-1]

4.下载文件到本地

 response = urllib.urlopen(result[i])cat_img = response.read()with open(imagepath, 'wb') as tag:tag.write(cat_img)

java 把文件上传到服务器

 @GetMapping("/uploadImage")public Object uploadFile() throws Exception {String dirPath = "/Users/davi/Documents/GitHub/python/image";File dir = new File(dirPath);File[] files = dir.listFiles(); // 该文件目录下文件全部放入数组String type = "resource";final FileType fileType = FileType.valueOf(type.toUpperCase());FileWriter fw = new FileWriter("/Users/davi/Desktop/imageout.txt");for (int i = 0; i < files.length; i++) {if (files[i].isFile()) { // 判断是文件还是文件夹File file = files[i];FileInputStream fileInputStream = new FileInputStream(file);//个人的上传服务接口final MyFileCreateRequest createFileRequest = new MyFileCreateRequest(fileType, file.getName(), "multipart/form-data; boundary=----WebKitFormBoundaryNKE6Mjn6vK5PxlhK", fileInputStream);final MyFileInfoVo result = this.myservice.createFile(createFileRequest);System.out.println("upload image result:" + result.getUrl());fw.write(result.getUrl()+"\n");}}fw.close();return Results.singleResult(ResultCodes.SUCCESS);}

爬取的图片
在这里插入图片描述


http://www.ppmy.cn/news/366391.html

相关文章

PS教程如何用Photoshop 创造奇幻的燃烧着的鹿

在本教程中我会展示如何使用来创建有火焰效果的奇幻的鹿。 你的工作涉及混合和调整图层&#xff0c;将不同的素材图片合并到一个场景中。 你还将学习如何用火工作&#xff0c;创建一个照明效果并提高景深。 安装Photoshop 2022 1.创建背景 第 1 步 在 Photoshop 中创建一个新…

html5实现点击弹出图片

前台代码&#xff1a; <a href"javascript:;" onclick"repeat()"><div id"modal_volume" style"position: fixed; text-align: center; width: 100%; height: 100%; top: 0; z-index: 9999; display: none;"><table s…

Unity3d使用socket传输图片

C# socket通信只能传输的字节流&#xff0c;所以 我们若是想利用socket传输任何东西&#xff0c;都必须将之以字节的形式进行传输 So 本文就抛砖引玉一下&#xff0c;以传输图片的形式来示范一下&#xff0c;socket传输除文本数据以外的数据 嘻嘻~~~ 既然是网络通信&#xf…

html上传图片后,在页面显示上传的图片

第一种方法&#xff1a; 1.前端代码 <form class"container" enctype"multipart/form-data" method"post" idformBox name"form"> <input type"file" id"chooseImage" name"file"> <…

.NET Base64解码图片及上传

/// <summary>/// 图片上传 Base64解码/// </summary>/// <param name"dataURL">Base64数据</param>/// <param name"path">保存路径</param>/// <param name"imgName">图片名字</param>/// &l…

前端必备————图片转换成css或js方法

https://zhuanlan.zhihu.com/p/24551014?utm_sourcetuicool&utm_mediumreferral 作者&#xff1a;小爝 链接&#xff1a;https://zhuanlan.zhihu.com/p/24551014 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 今…

maya餐具图片_有哪些价格低但是逼格高很文艺又实用的物品呢?

信的恋人火漆印章(《穿越宇宙》宇航员版) “写信真是一件温柔的事&#xff0c;细腻的小心思就藏在横竖撇捺之中&#xff0c;像是一只害羞的小兽躲在情意绵绵的字里行间&#xff0c;被火漆封印起来&#xff0c;等着解封的那一刻窜出来&#xff0c;跳进启信人眼底的柔波里。” 送…

推荐一个美中不失优雅的博客网主页(素材参考---麋鹿鲁哟)

读者, 你好&#xff0c;这里是豪豪在线客服为你服务&#xff0c;接下来我将想你献上等你许久的专属于个人博客主页&#xff0c;等跟着我的步骤&#xff0c;相信可以在很短时间内&#xff0c;你也可以拥有专属于自己的博客主页面。在这之前&#xff0c;请在心中默念&#xff0c;…