|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这几天学习学习爬虫觉得特别有意思。今天学到抓妹子图,然后在还没看视频的情况下,自己先写了个。
配合easygui. 直接点选下载无聊图还是妹子图,选择需要下载多少页(不是网页的那个页数哈),然后选择保存路径。
先上效果:
选择要下载的类型(上面一个是妹子图,下面一个是无聊图)
输入要下载的页数:
选择要保存的路径:
等待~~~~
然后最后结果:
然后上代码(你本地安装了easygui就可以直接用了哈):
- import urllib.request,re,easygui as g
- def main():
- url = g.choicebox('请选择要下载的类型(1.妹子,2.无聊)','选择',['http://jandan.net/ooxx','http://jandan.net/pic'])
- data_header = [{},{'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}]
- req = urllib.request.Request(url, data_header[0], data_header[1])
- response = urllib.request.urlopen(req)
- html = response.read().decode('utf-8')
- pages = re.search(r'<span class="current-comment-page">\[(.+?)\]</span>', html)
- pages = pages.group(1)
- # 以上步骤初始化页数获取最新的页
- want_pages = g.enterbox('请输入要下载的页数(1页起步)')
- want_pages = int(want_pages)
- get_img(want_pages,pages,url,data_header)
- def get_img(want_pages,pages,url,data_header):
- filedir = g.diropenbox('选择保存路径','保存为')
- url_orignal = url
- for i in range(want_pages):
- url = url + '/page-' + str(int(pages)-i) + '#comments'
- req = urllib.request.Request(url, data_header[0], data_header[1])
- response = urllib.request.urlopen(req)
- html = response.read().decode('utf-8')
- img_url = re.findall('<img src="(.+?)" /><br />', html)
- save_img(img_url,filedir)
- url = url_orignal
- def save_img(img_url,filedir):
- for each in img_url:
- img_url = 'http:' + each
- img_url_ext = img_url.split('.')
- img_url_ext_sub = img_url_ext[2].split('/')
- img_file = urllib.request.urlopen(img_url).read()
- with open(filedir + '\\%s.%s'%(img_url_ext_sub[2],img_url_ext[3]),'wb') as f:
- f.write(img_file)
- if __name__ == '__main__':
- main()
复制代码
再来一张高清图片:
最后~有鱼币的小伙伴送点鱼币呀~嘻嘻
@冬雪雪冬 @鱼的泪 @jerryxjr1220 @...公子 @不二如是 @李金龙 @lumber2388779 |
评分
-
查看全部评分
|