赞
踩
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
之前我们对使用Python语言进行网页爬取已经比较熟悉了。今天我们再对所用到的知识进行一下巩固,爬取彼岸桌面壁纸。之所以选择这个网站,是因为他的图片壁纸都是高分辨率的,非常适合作为桌面壁纸使用。网站是这样子滴
1、通过一直点击 下一页 可以看到网站内的全部套图
2、通过爬取单个页面,可以获取到套图的首页地址
3、单个套图内图片上右键 -> 查看元素 即可拿到当前图片的地址。方法还是比较简单。
这样,就可以得到我们想要的资源。
# 构造page url
i = 2
while i < 10:# 限制爬取页数
url = 'http://www.netbian.com/meinv/index_' + str(i) + '.htm' # http://www.netbian.com/meinv/index_2.htm
print(url)
self.urlManager.add_new_url(url)
i = i + 1
def parseArtical(self, html_content):
# 存放数据
res_data = set()
ht = etree.HTML(html_content)
htmls = ht.xpath('//div[@id="main"]/div[@class="list"]/ul/li/a[@target="_blank"]')
for i in range(len(htmls)):
node = htmls[i]
url = 'http://www.netbian.com' + str(node.xpath('./@href')[0])
# print(url+' '+title+' '+cover_pic_url)
artical = Artical()
artical.url = url
res_data.add(artical)
return res_data
def dealObj(self): self.logger.debug('begin dealObj') artical = self.__blockList.remove() if artical is not None: if not self.__oldUrlList.contains(artical.url): # 处理artical # print(artical.url) html_content=self.downloader.download_text(artical.url, headers, 'gbk') ht = etree.HTML(html_content) imgs= ht.xpath('//div[@id="main"]/div/div/p/a[@target="_blank"]/img') for i in range(len(imgs)): node = imgs[i] url=node.xpath('./@src')[0] alt=node.xpath('./@alt')[0] # 创建要保存的目录 root = 'F:/netbian/' path=root+alt.strip()+'.jpg' data = HtmlDownloader().download_bin(url,headers) if data is not None: fpath = path with open(fpath, 'wb') as f: f.write(data) f.close() self.logger.info('下载图片成功:' + path) else: self.logger.info('下载图片失败:'+path) self.__oldUrlList.add(artical.url)
可以看到,图片都是1920x1080的分辨率,制作精美非常养眼,用作桌面壁纸非常适合。
大家是不是已经学会了呢?非常简单。如果还有什么不懂的,欢迎联系小白我。
不过大家一定不要频繁去下载,据说会给服务器带来压力,会封帐号,以后就不能查看了。
最后提醒大家,一点要以学习为重,小白我下载到的所有图片已删除,希望大家多多学习,多做有意义的事情,谢谢大家。
获取完整源码,欢迎关注 80后老吴
想要获取精美图片壁纸也可以找小白我,谢谢观看。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。