Python爬虫 爬取彼岸桌面壁纸 netbian 1920x1080
程序员文章站
2022-04-01 13:06:17
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。之前我们分别爬取了妹子图、和爬取了唯一图库,我们对使用Python语言进行网页爬取已经比较熟悉了。今天我们再对所用到的知识进行一下巩固,爬取彼岸桌面壁纸。之所以选择这个网站,是因为他的图片壁纸都是高分辨率的,非常适合作为桌面壁纸使用,而且图片质量比较高值得大家欣赏,具有爬取的价值。网站是这样子滴页面分析1、通过一直点击 下一页 可以看到网站内的全部套图2、通过爬取单个页面,可以获取到套图的首页地址...
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
之前我们对使用Python语言进行网页爬取已经比较熟悉了。今天我们再对所用到的知识进行一下巩固,爬取彼岸桌面壁纸。之所以选择这个网站,是因为他的图片壁纸都是高分辨率的,非常适合作为桌面壁纸使用。网站是这样子滴
页面分析
1、通过一直点击 下一页 可以看到网站内的全部套图
2、通过爬取单个页面,可以获取到套图的首页地址
3、单个套图内图片上右键 -> 查看元素 即可拿到当前图片的地址。方法还是比较简单。
这样,就可以得到我们想要的资源。
关键源码
构造每个page的URL
# 构造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
xpath解析单个套图
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后老吴
想要获取精美图片壁纸也可以找小白我,谢谢观看。
本文地址:https://blog.csdn.net/wy_51131/article/details/110211099
上一篇: Python对字符串的读出、处理及写入
下一篇: Perl数组排序学习笔记