python爬虫实践(1)爬取图片网站的高清壁纸

robots.txt协议:

爬取网站之前首先检查该站点根目录下是否存在robots.txt,如果存在,就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。,如http://pic.netbian.com/robots.txt,Disallow下的目录或文件都禁止爬取。

#!/usr/bin/env python
# coding: utf-8
# @Desc  : 爬取彼岸图网壁纸import requests
from bs4 import BeautifulSoup
import os,re# 创建目录
def createDir(filePath):if not os.path.exists(filePath):os.mkdir(filePath)# 获取壁纸超链接
def getAndSavehref(url,pagenum):try:createDir(os.getcwd()+"\img")f = open(os.getcwd()+'\img\html_href.txt', 'w', encoding='utf-8')# 请求头head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'}for i in range(1, pagenum):if i==1 :r = requests.get(url, headers=head)else:r = requests.get(url +'index_' +str(i)+'html', headers=head)r.encoding = r.apparent_encodingsoup = BeautifulSoup(r.text, 'html.parser')content =soup.select('div>ul>li')i=0for h in content:href=h.find("a").attrs['href']if re.match('.*tupian.*',href):r = requests.get('http://pic.netbian.com'+href)soup = BeautifulSoup(r.text, 'html.parser')f.write('http://pic.netbian.com'+soup.select_one('#img>img').attrs['src'] + '\n')f.close()print("爬取壁纸地址成功!")except:print("爬取壁纸地址失败!")def save_img():createDir(os.getcwd()+"\img\images")f_read = open(os.getcwd()+'\img\html_href.txt', 'r+', encoding='utf-8')number = 1for line in f_read:try:print(os.getcwd()+"\img\images" + str(number) + '.jpg')line = line.rstrip("\n")# 根据个数顺序重命名名称f_write = open(os.getcwd()+"\img\images" + str(number) + '.jpg', 'wb')r = requests.get(line)# 如果图片地址有效则下载图片状态码200,否则跳过。if r.status_code == 200:f_write.write(r.content)# 若保存成功,则命名顺序+1number += 1print("当前保存第" + str(number) + "张图片。")f_write.close()except:print("下载图片出错!!")f_read.close()if __name__ == "__main__":try:print('默认爬取4K风景:http://pic.netbian.com/4kfengjing,其他可选地址如http://pic.netbian.com/4kdongman等')url = input('如需要爬取其他大类壁纸,在此输入网址,否则按Enter建继续:')pagenum=input('输入一个数字,表示下载多少页,默认(5):')if not url:url ='http://pic.netbian.com/4kfengjing'if not pagenum:pagenum=5getAndSavehref(url,pagenum=int(pagenum))save_img()input('壁纸已下载到当前目录,按任意键退出:')except:input('输入错误,检查网址和页数,按任意键退出:')

程序运行会产生下面的目录:

爬取壁纸在此:

关注微信公众号,可以下载打包好的EXE程序奥。

python爬虫实践(1)爬取图片网站的高清壁纸相关推荐

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

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

  2. 【Python爬虫实战】爬取彼岸图库高清图片

    利用Python爬取彼岸图库高清图片 让你每天一张壁纸不重样,今天利用Python爬取 彼岸图库 http://pic.netbian.com/ 分析网页 通过首页可以看到要获取全站图片必须先抓取各个 ...

  3. Python爬虫实战之爬取网站全部图片(一)

    Python爬虫实战之爬取网站全部图片(二) Python爬虫实战之通过ajax获得图片地址实现全站图片下载(三) 一.获得图片地址 和 图片名称 1.进入网址之后 按F12  打开开发人员工具点击e ...

  4. python爬虫爬取必应每日高清壁纸

    python爬虫爬取必应每日高清壁纸 一.简介 二.使用的环境 三.网页分析 1.分析网页每一页url形式以及总页数 2.网页重要信息收集 3.在源码中寻找所需信息的位置 四.代码实现 五.运行爬虫 ...

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

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

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

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

  7. 简单爬取wallpaper heaven高清壁纸(福利满满~)

    简单爬取wallpaper heaven高清壁纸 2021年1月30日更新 由于网站架构更改,以下内容已经并不能再实现爬取 思路大体不变,仅供参考思路 前言:wallpaper heaven是一个拥有 ...

  8. Python爬虫实战| Python爬取英雄联盟高清壁纸

    先看一下最终爬取的效果,每个英雄的壁纸都被爬取下来了: "黑暗之女 安妮"的12张壁纸: 高清大图: 下面开始正式教学! 版本:Python 3.5 工具:Jupyter note ...

  9. Python多线程爬虫之二:爬取王者荣耀高清壁纸(多线程)

    一.项目分析 1.查询爬取网址 robots 权限 1.王者荣耀官网:https://pvp.qq.com/ 2.访问王者荣耀官网 rbots 权限: https://pvp.qq.com/robot ...

最新文章

  1. 三星emcp型号详解_Samsung eMCP(三星eMCP).pdf
  2. session存入redis或memcached
  3. 距离向量算法_阿里北大:深度哈希算法最新综述
  4. Exception 和解决办法
  5. asp 可否压缩_怎样用ASP压缩文件
  6. MYSQL导出数据报错ERROR 1290 (HY000) 和 ERROR 1 (HY000)
  7. 蓝桥杯2015年第六届C/C++省赛B组第七题-牌型种数
  8. 想成为大数据分析师必须知道的这些事儿(文末福利)
  9. Android开发实战记录
  10. Pytorch/Tensorflow:tf.multiply torch.mul(矩阵对应元素各自相乘)
  11. 【JSP】错误页面处理
  12. 小米路由器青春版刷Padavan固件
  13. cu116安装gpu版pytorch
  14. Poi excel 导出 工具类参考
  15. 什么是函数式编程?总结
  16. 王艾老哥---三穷三富过到老,十年兴败谁知晓!
  17. 诛仙、凡人、遮天、剑来竟都不是第四届橙瓜网络文学奖第一仙侠!
  18. 在碎片化学习时代,高手是如何学习的?
  19. 注册表删除卸载列表中的软件
  20. 【解决方案】下载未加密视频(花屏问题)

热门文章

  1. 【GitHub】GItHub 克隆速度非常慢的解决方法。
  2. python调用显卡计算_Anaconda GPU计算入门指南
  3. word2016加载endnote
  4. Sanitizable signatures(净化签名) 和 Redactable signatures(可修订签名)
  5. MongoDB基本介绍及一些用法
  6. badusb和openwrt
  7. iPad平板电脑程序开发基础规则(源址:http://www.cocoachina.com/bbs/simple/?t82559.html)...
  8. 电动汽车的三电系统概述
  9. 统计学和计算机联系大吗?
  10. 华云 服务器_华云数据携手金蝶天燕完成产品兼容互认证 提供更加安全可靠的基础服务支撑...