利用Python爬取彼岸图库高清图片

让你每天一张壁纸不重样,今天利用Python爬取 彼岸图库 http://pic.netbian.com/

分析网页

通过首页可以看到要获取全站图片必须先抓取各个4k图片目录的连接,以次抓取4k风景、4k美女、4k游戏…
要获取这一栏的数据就要对首页进行请求,分析出各个分类的首页连接!!!
打开开发者工具(F12)对网页进行分析
打开开发者工具点击Elements进入元素列表,在点击Elements左边的斜箭头进行网页元素定位找到需要的元素。此时就可以发现所有元素都存放在以下目录中:

<div class="classify clearfix"> <a href="/4kfengjing/" title="4K风景图片">4K风景</a><a href="/4kmeinv/" title="4K美女图片">4K美女</a><a href="/4kyouxi/" title="4K游戏图片">4K游戏</a><a href="/4kdongman/" title="4K动漫图片">4K动漫</a><a href="/4kyingshi/" title="4K影视图片">4K影视</a><a href="/4kmingxing/" title="4K明星图片">4K明星</a><a href="/4kqiche/" title="4K汽车图片">4K汽车</a><a href="/4kdongwu/" title="4K动物图片">4K动物</a><a href="/4krenwu/" title="4K人物图片">4K人物</a><a href="/4kmeishi/" title="4K美食图片">4K美食</a><a href="/4kzongjiao/" title="4K宗教图片">4K宗教</a><a href="/4kbeijing/" title="4K背景图片">4K背景</a></div>

代码实现

分析完网页内容,选择就通过Pycharm对网页进行请求获取每一栏的url
下载相关的库
在Pycharm命令终端中输入

1 pip install requests
2 pip install lxml

Python 代码

import os
import requests
from lxml import etreeheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400'
}
def title_href():url = 'http://pic.netbian.com/'  response = requests.get(url).content.decode('gbk')# print(response)html = etree.HTML(response)divs = html.xpath('//*[@id="main"]/div[2]/a')  for div in divs:title = div.xpath('./@title')[0]href = 'http://pic.netbian.com/' + div.xpath('./@href')[0]# print(title, href)name_link(title, href)  # 传参

栏的网页地址,在分析每一栏的网页信息。

通过这两张图片可以看出只需要修改index_5.html中的数字就可以实现翻页操作
再次通过开发者工具进行网页分析


此时在对网页进行请求,获取到每一张图片的连接和名字。代码如下:

def name_link(title, href):for i in range(1, 5):  # 需要全站图片, 扩大循环范围即可if i == 1:url = hrefelse:url = href + 'index_{}.html'.format(i)# print(title, url)response = requests.get(url, headers=headers).content.decode('gbk')# print(response)html = etree.HTML(response)lis = html.xpath('//*[@id="main"]/div[3]/ul/li')for li in lis:img_name = li.xpath('./a/img/@alt')[0]img_href = 'http://pic.netbian.com' + li.xpath('./a/@href')[0]# print(img_name, img_href)img_name_url(title, img_name, img_href)  # 传参

url和name,继续请求获取到图片的下载地址
继续分析分析图片页面的信息

通过页面分析可以看出src中存放的就是图片的真正地址,只需要得到src即可。代码如下:

def img_name_url(title, name, url):response = requests.get(url, headers=headers).content.decode('gbk')# print(response)html = etree.HTML(response)image_url = 'http://pic.netbian.com/' + html.xpath('//*[@id="img"]/img/@src')[0]# print(name, image_url)download(title, name, image_url)  # 传参

到现在已经获取到了图片的url,请求写入文件就完成了。代码如下:

count = 1
def download(title, img_name, img_url):global countpath = '彼岸图库/{}'.format(title)if not os.path.exists(path):os.makedirs(path)print('-------[{}]文件夹已经创建成功,开始下载图片-------'.format(title))print('正在下载{}, 这是第{}张图片'.format(img_name, count))response = requests.get(img_url, headers=headers)with open('彼岸图库/{}/{}.jpg'.format(title, img_name), 'wb')as f:count += 1f.write(response.content)print('{}已经成功下载, 这是第{}张图片'.format(img_name, count))
title_href()




抓取所有的网页都是类似的思路,一步一步分析网页。

【Python爬虫实战】爬取彼岸图库高清图片相关推荐

  1. python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述

    http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...

  2. Python爬虫实战爬取租房网站2w+数据-链家上海区域信息(超详细)

    Python爬虫实战爬取租房网站-链家上海区域信息(过程超详细) 内容可能有点啰嗦 大佬们请见谅 后面会贴代码 带火们有需求的话就用吧 正好这几天做的实验报告就直接拿过来了,我想后面应该会有人用的到吧 ...

  3. python爬虫实战---爬取大众点评评论

    python爬虫实战-爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多 ...

  4. python爬虫实战-爬取视频网站下载视频至本地(selenium)

    #python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...

  5. python爬虫实战--爬取猫眼专业版-实时票房

    小白级别的爬虫入门 最近闲来无事,发现了猫眼专业版-实时票房,可以看到在猫眼上映电影的票房数据,便验证自己之前学的python爬虫,爬取数据,做成.svg文件. 爬虫开始之前 我们先来看看猫眼专业版- ...

  6. Python爬虫基础--爬取王者荣耀英雄皮肤图片

    文章目录 思路分析 涉及到的知识点 Json数据说明 `herolist.json`:英雄列表 皮肤图片尺寸分析 程序说明 代码 结果(数据)分析 声明 这里只是简单介绍主要内容,详见github,仓 ...

  7. Python爬虫入门-scrapy爬取唯一图库高清壁纸

    首先,就是进入到唯一图库,点击上面的高清壁纸项目: 进入之后,下拉,发现是正常的下拉没有Ajax加载,拉到最后面点击末页,可以看出这个栏目里面总共有292页: 翻页看一下URL有什么变化,可以发现只有 ...

  8. Python爬虫实战- 爬取整个网站112G-8000本pdf epub格式电子书下载

    (整个代码附在最后) 目录: 爬虫准备 - 某电子书网站内容架构分析 爬虫前奏 - 网站Html代码分析,如何获取需要的链接? 爬虫高潮 - 测试是否有反爬虫措施,测试是否能正常下载一个sample ...

  9. python爬虫实战-爬取小说

    今天做一个爬虫练手的小实战:爬取顶点小说网的小说,实现下载到本地(虽然网站上本来就可以下载,不过还是自己写代码来有成就感嘛!) 爬取网站 进入官网后,点击元尊,就爬取这本书了. 我们先把整个网页爬下来 ...

最新文章

  1. JVM的架构和执行过程
  2. 解决Lync联盟用户之间只能IM聊天不能进行A/V呼叫问题
  3. load generator 与ip Spoofer的区别
  4. 计算机安装双系统后系统引导修复的方法
  5. OpenMP和MPI的区别
  6. JZOJ 5941. 【NOIP2018模拟11.01】乘
  7. js java自动部署_vue 自动化部署 jenkins 篇
  8. window和 linux 在一起 ios和 android在一起 net和js在一起
  9. nginx配置php 9000,Nginx支持php配置
  10. vue中align_Vue的简单Treeview组件,没有额外的依赖——VueTeatree
  11. 三星电子预计第四季度营业利润为9万亿韩元 低于分析师预期
  12. android执行lua脚本的方法,从Android应用程序调用Lua脚本
  13. Oracle基础篇--01数据库控制语言DCL
  14. 韦东山: 作为一个初学者,怎样学习嵌入式Linux?
  15. 《具体数学》——数论
  16. 鼠标移入移出时定时器加速的原因_2020年值得购买的鼠标有哪些?
  17. “中华酷联米”第一阵营形成 小米梦如何继续
  18. python如何做成app?
  19. 推荐:Redis桌面管理工具RedisDesktopManager
  20. 开发证书与发布证书申请和安装步骤

热门文章

  1. 禽兽!我等着你! 【转】
  2. Fama—French五因子模型在中国股票市场适用吗?
  3. AlexNet训练分类猫狗数据集
  4. 计算机语言送祝福,二十种编程语言齐送鼠年祝福
  5. Linux下TomcatVM参数修改:Native memory allocation (mmap) failed to map 3221225472 bytes for committing res
  6. WiFi断网后禁止自动连接移动网络的解决办法
  7. 数字化工厂MES系统【源码分享】
  8. python字符串替换与分割
  9. [RK3568 Android11] 开发之系统动态隐藏导航栏(三)
  10. 赢胜智能:感恩教师节