python抓取网站88titienmae88中的“图片区”的第一页的所有图片
2017-12-18 09:36
435 查看
#-*-coding:utf-8-*- from urllib.request import urlopen, urlretrieve from bs4 import BeautifulSoup import re import os ''' 抓取网站http://jyghf.com/中的“图片区”的第一页的所有图片 关于这个网站,大家不要太有纠结的情绪,作为一个泱泱大国的男士,第一个爬虫,必须要有作为,作为啊!!! ''' ''' 第一步,进入到图片类中:根据http://jyghf.com/的html分析: 在id='top_box'的div中,第一个class='menu'的div包含着所有的“图片区”分类。 这些分类的url都是以“/p”开头,如:/p01/index.html,全路径: http://jyghf.com/p01/index.html ''' ''' 第二步,进入到图片文件夹中:根据http://jyghf.com/p01/index.html的html分析 在class="typelist"的div中,图片路径都在“<li>”标签中,这些图片路径都是以“/htm/”开头 如:“/htm/2017/12/13/p01/393067.html”,全路径:“http://jyghf.com/htm/2017/12/13/p01/393067.html” ''' ''' 第三步,获取图片的下载路径:根据html分析,图片路径,都在id="view1"的div中的<img>标签的“src”属性下。 ''' # 第一步,进入到图片类中 def getPicTypeLink(): html=urlopen("http://jyghf.com/") bshtml=BeautifulSoup(html,"html.parser") picTypes=bshtml.find("div",{"id":"top_box"}).find("div",{"class":"menu"})\ .findAll("a",href=re.compile("^(/p)")) return picTypes # 第二步,进入到图片文件夹中 def getPicFileLink(typeLink): html=urlopen("http://jyghf.com/{0}".format(typeLink)) bshtml=BeautifulSoup(html,"html.parser") picfiles=bshtml.find("div",{"class":"typelist"}).findAll("a",href=re.compile("^(/htm/)")) nextpage=bshtml.find("div",{"id":"page"}).find("a",title="下一页").attrs["href"] return picfiles # 第三步,获取图片的下载路径 def getPicSrcLink(picfilelink): html=urlopen("http://jyghf.com/{0}".format(picfilelink)) bshtml=BeautifulSoup(html,"html.parser") srcLinks=bshtml.find("div",{"id":"view1"}).findAll("img",src=re.compile("^(http://)")) return srcLinks #辅助:根据图片类型+图片文件夹,创建目录 def getDownloadPath(typename,filename,downLoadDirectory="E:\downloaded"): path="{0}/{1}/{2}/".format(downLoadDirectory,typename,filename) directory = os.path.dirname(path) if not os.path.exists(directory): os.makedirs(directory) return path #########开始########## picTypeLinks=getPicTypeLink() for link in picTypeLinks: typeLink=link.attrs["href"] typename=link.get_text() print(typename) picFileLinks=getPicFileLink(typeLink) for picfile in picFileLinks: if len(picFileLinks)>0: picFileLink=picfile.attrs["href"] filename=picfile.get_text() pid = 1 print(filename) picSrcLinks=getPicSrcLink(picFileLink) for picsrc in picSrcLinks: downloadurl=picsrc.attrs["src"] print("第{0}张图片".format(pid)) urlretrieve(downloadurl,"{0}/{1}.jpg".format(getDownloadPath(typename,filename),pid)) pid+=1
python抓取网站88titienmae88中的“图片区”所有图片:http://blog.csdn.net/qq_34908167/article/details/79041861
相关文章推荐
- python抓取网站88titienmae88中的“图片区”所有图片
- <四>、python爬虫抓取购物网站商品信息--图片价格名称
- Python urllib2递归抓取某个网站下图片
- python抓取网站的图片并下载到本地的方法
- python学习 二 03 爬一个图片网站-获得所有分页网址
- 【Python】爬虫入门--抓取网站图片
- 用python下载xxxx网站封面作品的所有图片
- Java简单实现爬虫技术,抓取整个整个网站所有链接+图片+文件(思路+代码)
- 基础的python抓取网站图片的例子
- 【Python爬虫基础】抓取知乎页面所有图片
- python爬虫 抓取一个网站的所有网址链接
- Python使用代理抓取网站图片(多线程)
- python 抓取pdf第一页为图片 (python get first page of pdf as image)
- python小爬虫—抓取pixabay网站的图片资源
- Python爬虫之从网站图片中抓取文字
- [分享黑科技]纯js突破localstorage存储上线,远程抓取图片,并转码base64保存本地,最终实现整个网站所有静态资源离线到用户手机效果却不依赖浏览器的缓存机制,单页应用最新黑科技
- 【python】100行代码python爬虫程序,抓取网站图片存储本地(附:中文链接解决)
- 用python多线程抓取网站图片,速度极快
- Python urllib2递归抓取某个网站下图片