学习分享 | 今天刚学完爬虫,就随便写了一个爬虫代码爬取某网站的图片
网站就是这个图片网站,我选的是1080p格式,4k的要会员,我反正是还不会

导入的包如下

import requests
from bs4 import BeautifulSoup
import time

将网址转化为html文件的函数

def ask_url(url):# 模拟浏览器的头部信息head = {"User-Agent": "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit/537.36(KHTML, likeGecko) Chrome/70.0.3538.102Safari/537.36Edge/18.19041"}# 访问页面resp = requests.get(url, headers=head)resp.encoding = "gbk"# 将resp用BeautifulSoup处理并转为text得到主页面bs_resp = BeautifulSoup(resp.text, 'html.parser')return bs_resp

然后解析网站,一步一步获取图片的src链接,注意,由于网站的不同,图片的最终地址可能不同,但一般都是a标签里面的href链接,访问之后就会得到真正的图片src地址,当然有些网站还要再深入一层(比如我这个)

# 解析数据
def get_data(url):count = 0for item in range(0, 500):if item == 0:baseurl = urlelif item == 1:continueelse:baseurl = url + str('index_') + str(item) + str('.htm')# 获取页面中所有的a标签,并在前面加上main_page = ask_url(baseurl)a = main_page.find('div', class_='list').find_all('a')print("已获取主页面的a标签,准备获取子页面的链接")# 获取图片的子页面,a标签href属性值,并在前面加上http://www.netbian.comhttp = 'http://www.netbian.com'for i in a:aHref =http + i.get('href')# 处理脏链接,将链接字符串大于38的舍弃if len(aHref) > 38:continueelse:# 获取子页面chile_page = ask_url(aHref)print("子页面获取成功,准备获取子页面a标签的href值...")chile_page_a = chile_page.find('div', class_='pic').find_all('a')# 我们需要的指向子页面的a标签是第一个,# 所以为了避免重复,新建一个列表存储第一个指向子页面的a标签chile_page_a1 = []chile_page_a1.append(chile_page_a[0])# 遍历子页面中的a标签,获取其中的href标签属性for item1 in chile_page_a1:child_aHref = http + item1.get('href')print('获取子页面的href值成功,准备获取图片页面')# 访问子页面,获取图片页面img_page = ask_url(child_aHref)# 解析图片页面,获取图片页面中的图片srctry:img_src = img_page.find('td').find('img').get('src')except:print('遇到一个错误了')print('获取图片页面成功,准备下载...')# 给图片命名img_name = str(img_src).split('/')[-1]# 访问图片链接img_get = requests.get(img_src)with open('img高清/'+img_name, 'wb') as fwrite:print('重命名中....')fwrite.write(img_get.content)count += 1print('第%d张图片下载完成!' % count)

然后就是设置主函数,设置函数开始执行de 位置

# 爬取图片
# 1.获取目标页面
#       2.1 requests.get获取
#       2.2 urllib.request.Request --> urllib.request.urlopen --> .read()获取
# 2.将页面转化为html文本    BeautifulSoup处理
# 3.若图片不需要从子页面获取,则跳到第6步
# 4.获取a标签中的href属性值(一般是href包含子页面)
#    4.1 正则表达式获取路径
#    4.2 标签名.get("属性名")即可获得该属性名的属性值
# 5.获取子页面,将其转化为html文本
# 6.获取img标签中的src路径
# 7.获取src页面,然后将其转化为字节码文件存储   contentdef main():img_url = 'http://www.netbian.com/1920x1080/'# img_page = get_data(img_url)get_data(img_url)time.sleep(3)

这里访问页面的方法我用的是requests.get,还有另外一种方法也可以,urllib库

设置函数的入口

if __name__ == '__main__':print("开始获取!")main()

以上,我这里设置了sleep,三秒钟访问一次,怕被禁止哈哈哈~

这里是效果图

python爬虫爬取某网站图片相关推荐

  1. 使用Python爬虫爬取网络美女图片

    代码地址如下: http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip instal ...

  2. 利用Python爬虫爬取网页福利图片

    最近几天,学习了爬虫算法,通过参考书籍,写下自己简单爬虫项目: 爬取某福利网站的影片海报图片 环境:anaconda3.5+spyder3.2.6 目录 1.本节目标 2.准备工作 3.抓取分析 4. ...

  3. 用python爬虫爬取网页壁纸图片(彼岸桌面网唯美图片)

    参考文章:https://www.cnblogs.com/franklv/p/6829387.html 今天想给我的电脑里面多加点壁纸,但是嫌弃一个个保存太慢,于是想着写个爬虫直接批量爬取,因为爬虫只 ...

  4. python唯美壁纸_用python爬虫爬取网页壁纸图片(彼岸桌面网唯美图片)

    参考文章:https://www..com/franklv/p/6829387.html 今天想给我的电脑里面多加点壁纸,但是嫌弃一个个保存太慢,于是想着写个爬虫直接批量爬取,因为爬虫只是很久之前学过 ...

  5. 用Python 爬虫爬取贴吧图片

    之前一直在看机器学习,遇到了一些需要爬取数据的内容,于是稍微看了看Python爬虫,在此适当做一个记录.我也没有深入研究爬虫,大部分均是参考了网上的资源. 先推荐两个Python爬虫的教程,网址分别是 ...

  6. python爬虫爬取网页壁纸图片(《底特律:变人》)

    参考文章:https://www.cnblogs.com/franklv/p/6829387.html 爬虫爬取网址:http://www.gamersky.com/news/201804/10396 ...

  7. python爬虫爬取某网站全站图片案列(源码全给可白漂,仅供学习使用,切勿用作非法用途)

    爬取后保存的图片效果图 步骤入下(三步): 先去要爬取的目标网站(https://pixabay.com/)去注册一个账号. 2.注册后登录,浏览器右键鼠标,打开检查,找到登录后的cookies值. ...

  8. python爬虫爬取汽车网站外型图片

    我选择的起始网址:http://www.hao123.com/auto/brand 当你随便选择一个车牌的选框( 不要 同时选择多个选框)你就会发现每个车牌对应一个网址 每个网址的区别就是数字不同 比 ...

  9. python爬虫 爬取小姐姐图片

    前言 大致熟悉了python的基础语法以后,开始学习爬虫基础. 一.爬取前的准备工作 python3.7环境(只要是python3版本都可以): 依赖包 : time requests re (缺少包 ...

最新文章

  1. 【BZOJ2738】矩阵乘法 [整体二分][树状数组]
  2. Drupal8系列(五):主题制作之搭建框架-Ubuntu 14.04 LTS
  3. GIS 中openstreetmap数据获取
  4. AJAX-jQuery实现Ajax
  5. java 缓存分页_基于redis做缓存分页
  6. [数分提高]2014-2015-2第9教学周第1次课 (2015-04-28)
  7. grumble.js--气泡形状的提示(Tooltip)控件
  8. [转]IE6对!important支持不彻底
  9. @程序员,除了女朋友你还要带什么回去?
  10. 凸优化第六章逼近与拟合 6.2 最小范数问题
  11. jstat 监控调整GC很好用
  12. IE 9 beta 下载地址
  13. 计算机怎样更新目录,怎么在word中设置自动更新目录功能
  14. Executing an update/delete query
  15. 通常所说的微型计算机的主机主要包括(),微型计算机的主机主要包括
  16. python制作七夕礼物_OpenCV+Python制作程序七夕(情人节)礼物
  17. 物化视图、普通视图及其区别
  18. JavaScript中的Event.target
  19. 【WCN685X】WCN6856 5G吞吐量测试只有25Mbps问题原因分析及解决方案
  20. [288]关于MySQL的1064错误

热门文章

  1. 如何选择时间序列预测模型
  2. 性能测试框架gatling
  3. [五校联考4]淬炼神体
  4. Nomalized Compression Distance(NCD)详解
  5. 《网络编程综合实践》:高校爬虫(厦大,南理,华大)
  6. antlr4 mysql_ANTLR 4的C#实例
  7. 按月龄选取最好胎儿教育方法
  8. 全民国家安全教育线上知识竞赛答题活动方案及模板分享
  9. Collectors 中的各种方法
  10. 正则表达式匹配 类C语言注释