BeautifulSoup下载给定URL里的图片(二)
来源:互联网 发布:蒙文翻译软件 编辑:程序博客网 时间:2024/05/16 10:48
在BeautifulSoup下载给定URL里的图片(一)中介绍了通过Beautiful Soup下载一给定页面的图片,但实际中,可能我们要下载很多的图片,想把给定页面的下一层链接里包含的图片也下载下来,其实这个很容易实现,只需在上一博文的基础上,再添加点内容即可,添加代码如下:
def getUrlLinks(content): links = content.find_all('a') for link in links: url = link.get('href') print("visiting url is:",url) #print("url[0:4]=",url[0:4]) if url !='' and url !=None and url[0:4]=='http' and len(url)>10: cont = getContentFromUrl(url) getInfoFromContent(cont) #time.sleep(0.02) else: pass该函数的作用是从将从给定url里的内容content传进来,然后对对content里的<a>进行提取,然后获得<a>的“href”属性(为了防止一些空的href,和不标准的url里的内容,加上了些判断);最后继续进行提取。
完整代码如下所示:
# -*- coding:UTF-8 -*-#coding = gbkimport timeimport urllibimport urllib2from bs4 import BeautifulSoupimgID = 0 def getContentFromUrl(url): req = urllib2.Request(url) content = urllib2.urlopen(req).read() content = BeautifulSoup(content, from_encoding='gbk') return contentdef getUrlLinks(content): links = content.find_all('a') for link in links: url = link.get('href') print("visiting url is:",url) #print("url[0:4]=",url[0:4]) if url !='' and url !=None and url[0:4]=='http' and len(url)>10: cont = getContentFromUrl(url) getInfoFromContent(cont) #time.sleep(0.02) else: pass def getInfoFromContent(content): global imgID imgs = content.find_all('img') for link in imgs: print(link) if link.name =='img': url = link.get('src') if url !='' and url !=None and url[0:4]=='http' and len(url)>10: try: urllib.urlretrieve(url, "girl/%02d.jpg"%imgID) except urllib2.URLError,e: print(e.reason) #data = urllib2.urlopen(url) #with open("girl/%02d.jpg"%imgID,'wb')as code: #code.write(data.read()) print(link.get('src')) imgID =imgID+1 print("get images:", imgID) if __name__ == "__main__": #print(getContentFromUrl("http://www.sohu.com")) #content = getContentFromUrl("http://car.autohome.com.cn/jingxuan/index.html") #content = getContentFromUrl("http://price.pcauto.com.cn/cars/pic.html") content = getContentFromUrl("http://image.baidu.com/channel/star") getUrlLinks(content)运行如下:
0 0
- BeautifulSoup下载给定URL里的图片(二)
- BeautifulSoup下载给定URL里的图片(一)
- Python抓取给定URL网页里的图片
- 二.BeautifulSoup多线程下载百思不得姐图片
- 下载图片-使用beautifulSoup模块
- 下载指定url的图片
- 下载url上的图片
- URL(获取指定网址里的图片)
- (二)BeautifulSoup的基本了解使用
- 【Android】给定URL显示网络图片的实现方法
- 根据数据库里的url批量下载
- java根据图片的URL下载图片
- 使用selenium+BeautifulSoup+正则表达式下载公众号我要whatyouneed文章里的音乐
- 小爬虫——下载给定网页上的图片
- 小爬虫——下载给定网页上的图片
- 根据url自动下载图片的demo
- 能下载url地址图片的ImageView
- 下载url图片到沙盒中
- window下redis的安装和配置
- Mac 常用的终端命令
- 游戏开发学习笔记-6.输入控制
- Centos 7 安装lnmp 移动数据库文件目录,重启后无法访问Web服务,笔记
- 循环-15. 统计素数并求和(20)
- BeautifulSoup下载给定URL里的图片(二)
- 网络排查与查看命令--ping,traceroute
- Add Two Numbers LeetCode第二题
- Eclipse中xml文件无错误提示
- Android LaunchMode属性简介
- 如何让打包的C++安装程序以管理员身份在Win7下运行
- 【JavaScript】(2)选项卡切换
- TCP三次握手连接及seq和ack号的正确理解
- POI Struts数据导出支持分页