python爬虫beautifulsoup4系列3【转载】

本篇转自博客:上海-悠悠

原文地址:http://www.cnblogs.com/yoyoketang/tag/beautifulsoup4/

前言

本篇手把手教大家如何爬取网站上的图片,并保存到本地电脑

一、目标网站

1.随便打开一个风景图的网站:http://699pic.com/sousuo-218808-13-1.html

2.用firebug定位,打开firepath里css定位目标图片

3.从下图可以看出,所有的图片都是img标签,class属性都是lazy

二、用find_all找出所有的标签

1.find_all(class_="lazy")获取所有的图片对象标签

2.从标签里面提出jpg的url地址和title

 1 # coding:utf-8
 2 from bs4 import BeautifulSoup
 3 import requests
 4 import os
 5 r = requests.get("http://699pic.com/sousuo-218808-13-1.html")
 6 fengjing = r.content
 7 soup = BeautifulSoup(fengjing, "html.parser")
 8 # 找出所有的标签
 9 images = soup.find_all(class_="lazy")
10 # print images # 返回list对象
11
12 for i in images:
13     jpg_rl = i["data-original"]  # 获取url地址
14     title = i["title"]           # 返回title名称
15     print title
16     print jpg_rl
17     print ""

三、保存图片

1.在当前脚本文件夹下创建一个jpg的子文件夹

2.导入os模块,os.getcwd()这个方法可以获取当前脚本的路径

3.用open打开写入本地电脑的文件路径,命名为:os.getcwd()+"\\jpg\\"+title+‘.jpg‘(命名重复的话,会被覆盖掉)

4.requests里get打开图片的url地址,content方法返回的是二进制流文件,可以直接写到本地

四、参考代码

 1 # coding:utf-8
 2 from bs4 import BeautifulSoup
 3 import requests
 4 import os
 5 r = requests.get("http://699pic.com/sousuo-218808-13-1.html")
 6 fengjing = r.content
 7 soup = BeautifulSoup(fengjing, "html.parser")
 8 # 找出所有的标签
 9 images = soup.find_all(class_="lazy")
10 # print images # 返回list对象
11
12 for i in images:
13     jpg_rl = i["data-original"]
14     title = i["title"]
15     print title
16     print jpg_rl
17     print ""
18     with open(os.getcwd()+"\\jpg\\"+title+‘.jpg‘, "wb") as f:
19         f.write(requests.get(jpg_rl).content)

时间: 2024-10-12 11:33:42

python爬虫beautifulsoup4系列3【转载】的相关文章

python爬虫beautifulsoup4系列4-子节点【转载】

本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/beautifulsoup4/ 前言 很多时候我们无法直接定位到某个元素,我们可以先定位它的父元素,通过父元素来找子元素就比较容易 一.子节点 1.以博客园首页的摘要为例:<div class="c_b_p_desc">这个tag为起点 2.那么div这个tag就是父节点 3."摘要: 前言 本篇详细..."这个string就是上面div的子节

python爬虫beautifulsoup4系列1

前言 以博客园为例,爬取我的博客上首页的发布时间.标题.摘要,本篇先小试牛刀,先了解下它的强大之处,后面讲beautifulsoup4的详细功能. 一.安装 1.打开cmd用pip在线安装beautifulsoup4 >pip install beautifulsoup4 二.解析器 1.我们主要用第一个html.parser,这个是python的标准库,可以直接用.其它几个需要安装对应解析器, 下表列出了主要的解析器,以及它们的优缺点: 三.打印首页博客的时间 1.这里直接定位不好定位到,可以

python爬虫beautifulsoup4系列3

前言 本篇手把手教大家如何爬取网站上的图片,并保存到本地电脑 一.目标网站 1.随便打开一个风景图的网站:http://699pic.com/sousuo-218808-13-1.html 2.用firebug定位,打开firepath里css定位目标图片 3.从下图可以看出,所有的图片都是img标签,class属性都是lazy 二.用find_all找出所有的标签 1.find_all(class_="lazy")获取所有的图片对象标签 2.从标签里面提出jpg的url地址和titl

python爬虫beautifulsoup4系列4-子节点

前言 很多时候我们无法直接定位到某个元素,我们可以先定位它的父元素,通过父元素来找子元素就比较容易 一.子节点 1.以博客园首页的摘要为例:<div class="c_b_p_desc">这个tag为起点 2.那么div这个tag就是父节点 3."摘要: 前言 本篇详细..."这个string就是上面div的子节点(string通常看成是一个tag的子节点) 4."<a class="c_b_p_desc_readmore&qu

Python爬虫学习系列教程

Python爬虫学习系列教程 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴趣的童鞋有帮助,如果有机会期待与大家的交流. Python版本:2.7 一.爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库

Python爬虫Csdn系列III

Python爬虫Csdn系列III By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明出处,谢谢. 说明: 在上一篇博客中,我们已经能够获取一个用户所有文章的链接了,那么这一节自然就是要将这些博客下载下来咯. 分析: 有了链接下载文章自然是不难.但是,获取的数据该怎么处理?每一篇文章都带有格式换行这些信息,自然,我们存储它们也是要存储其对应的html格式的数据的(注意,我们编辑的带有格式的博客或者其他文本都是以html代码格式存储的).如何存?使用数据库

Python爬虫Csdn系列II

Python爬虫Csdn系列II By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明出处,谢谢. 说明: 在上一篇文章中,我们已经知道了只要将程序伪装成浏览器就能访问csdn网页.在这篇文章中,我们将设法获取某个csdn用户的所有文章的链接. 分析: 打开一个某一个的csdn用户的的专栏,可以选择目录视图(如:http://blog.csdn.net/whiterbear?viewmode=contents)和摘要视图(比如:http://blog.cs

python爬虫Pragmatic系列III

python爬虫Pragmatic系列III 说明: 在上一篇博客中,我们已经学会了从赶集网上的一家公司中提取出有关的信息,并存储到Excel中. 本次目标: 在本节中,我们将批量下载赶集首页上所有的公司界面(注意不是赶集网上所有的公司页面,我们可以把这个留给之后的任务),并批量的处理所有公司的有关信息,并保存到Excel中. 注意: 在上一篇博客中,我们使用的只是匹配赶集网上其中一家公司界面的中信息,而且不幸的是,很多的其他的公司的联系店主模块中的信息数量并不是固定的,即有的是10个li,而有

Python爬虫Csdn系列I

Python爬虫Csdn系列I By 白熊花田(http://blog.csdn.net/whiterbear) 说明: 我会在这个系列介绍如何利用python写一个csdn爬虫,并将给定的Csdn用户的博客的所有文章保存起来.嗯,实用性貌似不是很大,写着玩,这个系列后,会有更好玩的更高级的爬虫出现. 原因: 本来想学cookie的,后来发现爬取csdn的文章伪装成浏览器去访问就行了. 本次目标: 爬取csdn某用户的文章列表.这里以我的blog为例,仅仅打开第一列文章列表,不做任何分析,只是验