(二)Python 学习第二天--爬5068动漫图库小案例
(注:代码和网站仅仅是学习用途,非营利行为,源代码参考网上大神代码,仅仅用来学习?)
效果如下:
代码展示如下
# -*- coding:utf-8 -*import urllib2from bs4 import BeautifulSoupimport urllib def get_images(page_s, page_e=None) : if page_e == None : page_e = page_s pic_name = 1 for i in range(page_s,page_e+1) : url = 'http://es.5068.com/list_96_%s.html'%i header = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'} req =urllib2.Request(url, headers=header) page = urllib2.urlopen(req, timeout=50) contents = page.read() soup = BeautifulSoup(contents,'html.parser') my_pic = soup.find_all('img') for pic in my_pic : link = pic.get('src') name = link[link.rfind('/')+1:] data = urllib.urlretrieve(link,'images/%s'%name) #print link, name get_images(1,3) 学习记录如下:功能:实现一个可以爬取5068图片网站的爬虫函数,主要使用模块urllib,urllib2,BeautifulSoup4 实验环境:python2.71.urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。他以urlopen函数的形式提供了一个非常简单的接口,这是具有利用不同协议获取URLs的能力,他同样提供了一个比较复杂的接口来处理一般情况,例如:基础验证,cookies,代理和其他。它们通过handlers和openers的对象提供。2.urllib2用一个Request对象来映射你提出的HTTP请求,在它最简单的使用形式中你将用你要请求的地址创建一个Request对象,通过调用urlopen并传入Request对象,将返回一个相关请求response对象,在这里我们设置对象名为page,这个应答对象如同一个文件对象,所以你可以在Page中调用.read()。3.由于部分网站有反爬机制,所以设置header文件,server端会针对这些header做检查,利用本地浏览器的User-Agent来伪装成浏览器发起的Request4.Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。5.soup = BeautifulSoup(contents,'html.parser'),标准化html内容6.调用find_all()方法来,获得所有的img标签 get():来获得所有img标签中的src部分7.python中使用urllib模块中的urlretrieve方法来下载资源。
转载于:https://www.cnblogs.com/guozhengxin/p/6957154.html
(二)Python 学习第二天--爬5068动漫图库小案例相关推荐
- 开始Python学习第二课(python环境安装)
*** 开始Python学习第二课*** 一. Python语言简介 1. Python语言 1.1 Python的命名 2. Python基本概念 2.1 Python的简单介绍 2.2 Pytho ...
- Python学习第二周总结
Python学习第二周总结 第二周主要学了python中几种常见的数据结构,分别是列表.元组.字符串.集合.字典重点就是怎么创建和使用这些数据结构,操作方法更是一定要掌握的. 一.列表 1.1 定 ...
- Python学习笔记:爬取网页图片
Python学习笔记:爬取网页图片 上次我们利用requests与BeautifulSoup爬取了豆瓣<下町火箭>短评,这次我们来学习爬取网页图片. 比如想爬取下面这张网页的所有图片.网址 ...
- python学习第二天
python学习第二天 输入 这篇文章我们来讲讲 python是如何进行输入的 先看一下源代码: name = input('请输入你的名字:') #在这里我们定义一个变量name 它的值就是后面in ...
- Python爬虫系列之爬取某优选微信小程序全国店铺商品数据
Python爬虫系列之爬取某优选微信小程序全国商品数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发 > 点击这里联系我们 < 微信请扫描下方二维码 代码仅 ...
- Python爬虫整理资料素材下载动漫壁纸实战案例8
有时候老板会让我们去网上整理一些素材,比如动漫壁纸老板要批量下载,很简单,就用Python来爬一下吧. 来看一下图片的效果吧 Ok, 打包发送给老板,下班咯 别忘了Python readme Pyth ...
- python学习[第二篇] 基础二
控制结构 if 语句 # only if blockif condition:if_true_block# if_else blockif condition:if_true_block else:i ...
- Python 学习第二课:Python要点
第二课目录 进制 进制之间的转换 进制的计数 计算机中的单位 1.Python 语言 1.1 Python语言的基本概念 1.2 Python的特色 1.3 Python的发展及应用 2. 搭建环境 ...
- 九十二、Python爬取深圳租房信息小案例
@Author:Runsen @Date:2020/6/19 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...
最新文章
- CTO 说了,如果发现谁用 kill -9 关闭程序就开除
- Go 开发关键技术指南 | 为什么你要选择 GO?(内含超全知识大图)
- linux防火墙ddos,Linux iptables防火墙详解 + 配置抗DDOS***策略实战
- iOS12.3正式版发布 iOS13亮相进入倒计时
- robotframework 测试工具添加PDF文件内容匹配插件
- matplotlib plot 绘图函数发生阻塞(block)时的解决方法
- 传统企业做互联网的困局
- 简单粗暴的流水灯仿真和代码
- 【转】一篇易懂的CAN通讯协议指南1
- 4、golang 发送电子邮件
- python中输入字符串_python如何输入字符串
- 阿里云添加域名解析设置
- 克鲁斯卡尔算法(Kruskal Algorithm)——图的最小生成树
- 注意力机制 | CNN-LSTM-Attention基于卷积-长短期记忆网络结合注意力机制多输入单输出回归预测(Matlab程序)
- React | React的JSX语法
- 大学生的福音,学习 Java 最强书单推荐,附学习方法
- 关于Vue admin 框架中 Pagination 分页 异步加载的问题
- 这项开源视频抠图技术火了!换背景的方法着实真假难辨
- 面向对象方法开发的特点
- API 文档搜索引擎
热门文章
- 教你从0到1搭建秒杀系统-抢购接口隐藏与单用户限制频率
- 【实验】DHCP、NAT配置案例
- 【通知】CCIE LAB北京考场9月1日起开放考试
- What‘s new in dubbo-go v1.5.6
- SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可监控)
- linux运维技巧,Linux运维需要掌握的17个实用技巧
- 如何复制粘贴_年终工作总结如何写?复制粘贴肯定不行啦
- php实现sql server数据导入到mysql数据库_php实现SQL Server数据导入Mysql数据库(示例)...
- python在线翻译代码_Python 20行简单实现有道在线翻译的详解
- mysql命令集合,MySql常用命令集合