我知道没有图片你们是不会看下去的...

日本文化输出非常厉害,比如说动漫,火影忍者的完整让不少人都感叹:“爷青结”,当然还有入土都难以完结的动漫,比如名侦探河南,不对,手抖了,柯南,当然还有下面我们要爬取的动漫壁纸,海贼王ONE PIECE(ワンピース)!

01

网站分析

随意百度搜索找的一个网站!

目标网址:

https://www.ivsky.com/bizhi/one_piece_t571/

很明显,一个列表页,一共有24个链接,对应的24个图片,可惜只有缩略图!

所以,从列表页应该是获取不到大图的图片地址,考虑从内页获取!

继续观察列表页路径地址:

https://www.ivsky.com/bizhi/one_piece_t571/index_2.html

很明显的数字id型列表页,知晓总的列表页数目,就可以构造访问了!

当然需要注意的是,首页的列表页即为入口页,构造访问路径的时候用一个判断处理就可以实现了!

02

代码编写

引用库

import requests,time
from lxml import etree

列表链接源码

列表链接xpath获取

hrefs=tree.xpath('//ul[@class="il"]/li/div[@class="il_img"]/a/@href')

详情页图片源码

详情页图片链接xpath获取

img_url=tree.xpath('//img[@id="imgis"]/@src')[0]

第一版参考:

# one_piece 天堂图片网 图片采集
# https://www.ivsky.com/bizhi/one_piece_t571/index_2.html
# 20211105 by 微信:huguo00289
# -*- coding: UTF-8 -*-
import requests,time
from lxml import etreedef get_imghrefs(url):# url = "https://www.ivsky.com/bizhi/one_piece_t571/index_2.html"headers={"user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}response=requests.get(url=url,headers=headers,timeout=6)print(response.status_code)html=response.content.decode('utf-8')tree=etree.HTML(html)hrefs=tree.xpath('//ul[@class="il"]/li/div[@class="il_img"]/a/@href')print(len(hrefs))print(hrefs)img_hrefs=[]for href in hrefs:href=f'https://www.ivsky.com{href}'img_hrefs.append(href)return img_hrefsdef get_img(url):#url="https://www.ivsky.com/bizhi/one_piece_v36640/pic_599277.html"headers = {"user-agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}response = requests.get(url=url, headers=headers, timeout=6)print(response.status_code)html = response.content.decode('utf-8')tree = etree.HTML(html)img_url=tree.xpath('//img[@id="imgis"]/@src')[0]img_url =f'https:{img_url}'imgname=img_url.split('/')[-1]print(img_url,imgname)img=img_url,imgnamereturn imgdef down_img(img):# img_url="https://img-pre.ivsky.com/img/bizhi/pre/201606/21/one_piece-005.jpg"# imgname="one_piece-005.jpg"img_url=img[0]imgname=img[1]headers = {"user-agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}r = requests.get(url=img_url, headers=headers, timeout=6)with open(imgname,'wb') as f:f.write(r.content)print(f">> 下载 {imgname} 图片成功!")def main():url="https://www.ivsky.com/bizhi/one_piece_t571/index_2.html"img_hrefs=get_imghrefs(url)for img_href in img_hrefs:img=get_img(img_href)down_img(img)time.sleep(1)if __name__=='__main__':main()

第二版 类class 参考:

# one_piece 天堂图片网 图片采集
# https://www.ivsky.com/bizhi/one_piece_t571/index_2.html
# 20211105 by 微信:huguo00289
# -*- coding: UTF-8 -*-
import requests,time,os
from lxml import etree
import threadingclass One():def __init__(self,url,pagenum):self.headers = {"user-agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}self.url=urlself.pagenum=pagenumpathname=url.split('/')[-2]self.path=f'{pathname}/'os.makedirs(self.path,True)def get_img_herfs(self):for page in range(1,self.pagenum+1):if page==1:url=self.urlelse:url=f'{self.url}index_{page}.html'self.get_imghrefs(page,url)def get_imghrefs(self,page,url):print(f">> 正在爬取 第{page}页 链接:{url}")response=requests.get(url=url,headers=self.headers,timeout=6)html=response.content.decode('utf-8')tree=etree.HTML(html)hrefs=tree.xpath('//ul[@class="il"]/li/div[@class="il_img"]/a/@href')print(len(hrefs))print(hrefs)self.thread_get_imgs(page,hrefs)def thread_get_imgs(self,page,hrefs):threadings=[]for href in hrefs:href=f'https://www.ivsky.com{href}'t=threading.Thread(target=self.get_img,args=(href,page))threadings.append(t)t.start()for x in threadings:x.join()print("多线程下载图片完成")def get_img(self,url,page):response = requests.get(url=url, headers=self.headers, timeout=6)html = response.content.decode('utf-8')time.sleep(1)tree = etree.HTML(html)img_url=tree.xpath('//img[@id="imgis"]/@src')[0]img_url =f'https:{img_url}'img_name=img_url.split('/')[-1]img_name=f'{page}_{img_name}'print(img_url,img_name)self.down_img(img_url,img_name)def down_img(self,img_url,img_name):r = requests.get(url=img_url, headers=self.headers, timeout=6)with open(f'{self.path}{img_name}','wb') as f:f.write(r.content)print(f">> 下载 {img_name} 图片成功!")def main():url="https://www.ivsky.com/bizhi/one_piece_t571/"pagenum=12spider=One(url,pagenum)spider.get_img_herfs()if __name__=='__main__':main()

该网站没有反爬,适合新手学习参考,注意设置time.sleep,减轻服务器压力!

03

附经典语录

1.路飞——我们是伙伴啊!

2.索隆——假如连自己的船长都保护不了,还谈何野心!

3.娜美——在他的心碎掉之前,我想赶快见到他,成为他的力量!

4.乌索普——不在这里全力奋战的话,根本没有资格和他们搭同一艘船,也不可能和他们一样真心的开怀大笑!

5.山治——我从小就被教导不能踢女人,所以就算会没命,我也不能踢女人!

6.弗兰奇——我是已经死过一次的人了,为了让草帽他们活着从这里离开,再死一次我也无所谓!

7.罗宾——我想……我想要活下去!!把我也一起带到海上吧!

8.乔巴——以前我想变成人类,是因为想有同伴,现在我想变成能够帮到路飞的怪物!

9.布鲁克——从今天开始,我的性命交于路飞船长!决不拖大家后腿!粉身碎骨,肝脑涂地!

不妨加入到内容制造者的收割狂欢中..

往期推荐

python微博用户主页小姐姐图片内容采集爬虫

图片爬虫,手把手教你Python多线程下载获取图片

Python解析如何跳转真实下载链接下载文件

Python爬虫,B站视频下载源码脚本工具助手附exe

·················END·················

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

公众号不挣钱,交个网友。

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注二大爷呗~给你分享python,写作,阅读的内容噢~

扫一扫下方二维码即可关注我噢~

关注我的都变秃了

说错了,都变强了!

不信你试试

扫码关注最新动态

公众号ID:eryeji

One Piece 海贼王动漫壁纸 Python 爬取!相关推荐

  1. python代码壁纸-Python爬取高清壁纸

    需要准备的东西: 用到的环境:python3.7 用到的ide:pycharm 用到的库 time.BeautifulSoup.requests 本次的目标: 下载几百张海贼王的高清壁纸 练习爬虫 分 ...

  2. python爬取王者_python 爬取王者荣耀高清壁纸

    一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 预览一下桌面吧: 是不是看着这样的桌面也很带感,_ (学会这个技术,你可以爬取其他网站的类似图片 ...

  3. 运用python爬取彼岸桌面所有关键字高清壁纸

    运用python爬取彼岸桌面所有关键字高清壁纸 第一次在csdn写博客, 个人技术并不成熟, 还是学生, 高手轻喷菜鸡勿啄 就是心血来潮想要换桌面壁纸, 存在一个文件夹自动更换, 但是从网站上一个一个 ...

  4. python 爬取王者荣耀高清壁纸

    代码地址如下: http://www.demodashi.com/demo/13104.html 一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 ...

  5. python 爬取https://wall.alphacoders.com上的壁纸(入门级别)

    python 爬取https://wall.alphacoders.com上的壁纸 0,环境 python3.7 库:requests,BeautifulSoup4 1,目标 https://wall ...

  6. Python | 使用Python爬取Wallhaven网站壁纸并上传百度网盘

    更多详情请查看Honker Python | 使用Python爬取Wallhaven网站壁纸并上传百度网盘 给大家推荐一款超好用的壁纸下载网站-- wallhaven 第一次知道这个网站的时候,惊为天 ...

  7. Python爬取wallhaven壁纸 2023.1.31

    Python爬取wallhaven壁纸 壁纸页面 前言 源码 壁纸页面 前言 学习中,未加多线程,由于网站.图片大小等因素导致下载缓慢 望各位大神提出建议并加以修善 网站主页及其爬取页如下,可自行修改 ...

  8. python爬取4k高清壁纸(多线程版)

    刚学了多线程,于是把上次写的博客拿出来进行改写, 原文链接:python爬取4k高清壁纸(再也不怕没有壁纸了) 爬取过程已经在上一次写过了,可以点击原文链接查看. 废话不多说,直接上多线程代码: im ...

  9. python爬取4K超清画质手机壁纸,壁纸这东西当然是越多越好啦~

    前言 手机壁纸这东西大家都很熟悉吧,相信不论谁打开手机都希望自己的壁纸是自己喜欢的图片, 但是一张壁纸用久了就会想换一张新鲜感满满的图(当然排除情有独钟的), 但挑选图片的时间总是恒久的,有时长时间的 ...

最新文章

  1. vba去oracle数据后乱码,vba中读取utf-8文件乱码问题
  2. 大数据分析决策平台问题总结
  3. 使用$.ajax向服务器发送请求
  4. 关于web应用程序的安全验证
  5. 传感器是新兴的机器人技术革命的关键要素
  6. 常用基本控件测试用例(一)
  7. 移动硬盘“脱机”(签名冲突)的硬盘如何正常使用
  8. 用 javascript 解释 curry
  9. Android项目之利用手机传感器做惯性导航
  10. python内置函数可以返回列表、元组_Python内置函数_________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。...
  11. How-to: 利用Web Camera模拟Windows Phone 7的重力加速度传感器
  12. (1)QlikView概述
  13. 极致体验,解密微信背后的音视频通话技术
  14. 如何将原来Eclipse的一个工作空间设置好的界面复制到另外一个Eclipse里面
  15. background-clip和background-origin
  16. 解决 Invalid component name: “404“. Component names should conform to valid custom element name ...
  17. Windows环境下安装pkg-config
  18. Heavy Transportation重型运输(Dijkstra算法 - 详解)
  19. 360搜索的域名已经确定为so.com
  20. WJ16系列 热电阻Ni1000,NTC,Pt100,热电偶等非线性信号隔离变送器

热门文章

  1. python怎么找项目做小生意_三个投资小回报大的项目,让你没钱也能做买卖!
  2. composer更新_PHP面试中经常出现的composer 问题总结
  3. 软件测试目的及缺陷定义
  4. 【跨域异常】Cross origin requests are only supported for protocol schemes: http, data, chrome,chrome-exten
  5. jenkins连接mysql_mysql – 如何将JDBC驱动程序添加到Jenkins管道?
  6. java 使用腾讯云文字识别,识别驾驶证
  7. 一直在说的Java和Java大数据,你能搞清楚吗?
  8. windows和linux中RabbitMQ客户端下载安装
  9. Java不重复的随机数获取_java获取 1--N 的不重复随机数程序代码
  10. java 反射 深拷贝_Java深拷贝和浅拷贝(深克隆和浅克隆)