限制级 爬yande.re原图的爬虫(15禁), 用了高匿代理, IP不会被封

镇贴图(用此脚本下载当然是没有马赛克的!) 

145610c7xps70vw07raiw7.jpg

这个脚本是爬原图的, 所以分辨率很高(比如说上面的图):

——————————————————

代码区域:

  1. import urllib.request
  2. import re
  3. import os

  4. pattern = re.compile(r'(?<=<span class="plid">#pl )https://yande.re/post/show/\d+(?=</span>)')
  5. pattern_page = re.compile(r'(?<=src\=")https://files.yande.re/\w+/\w+/yande\.re.+?\.\w+(?=")')

  6. opener = urllib.request.build_opener(urllib.request.ProxyHandler({'代理类型': '代理IP:端口号'})) # 需自行更改, 不用代理可以直接改成urllib.request.ProxyHandler({})
  7. opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36')]

  8. if not os.path.exists('Picture'):
  9.     os.mkdir('Picture')

  10. os.chdir('Picture')

  11. page = 1
  12. counter = 1
  13. while True:
  14.     for i in pattern.findall(opener.open('https://yande.re/post?page=%d&tags=rating%%3Ae' % (page)).read().decode('utf-8')):
  15.         picture = open('%d.jpg' % (counter), 'wb')
  16.         print('正在下载第%d张图片...' % (counter))
  17.         try:
  18.             picture.write(opener.open(pattern_page.findall(opener.open(i).read().decode('utf-8'))[0]).read())
  19.         except:
  20.             print('第%d张图片下载失败!' % (counter))
  21.         picture.close()
  22.         counter += 1
  23.     page += 1

图片统一保存在Picture目录, 不存在会创建一个Picture目录

PS: 图片均为限制级



本文原创内容 当前文章地址: http://www.lazyw.org/post-8.html ,转载请保留本站地址
THE END
分享
二维码
< <上一篇
下一篇>>