Python,心情不美丽,爬了一些美图,独自欣赏!
【摘要】 网友:何以解忧,唯有爬虫。
1、引言
小屌丝:鱼哥,咋了, 心情不美丽?
小鱼:嗯,
小屌丝:晚上撸串去??
小鱼:不
小屌丝:蹦迪??
小鱼:不
小屌丝:喝酒??
小鱼:不
小屌丝:猎艳??
小鱼:… !!
于是乎~~ 一段代码上来, 某网站的美女图片被下载下来!
2、代码实战
直接上代码
#coding = utf-8
"""
@ auth : carl_DJ
@ time : 2020-7-22
"""
import urllib.request
import os
def url_open(url):
'''打开url'''
req = urllib.request.Request(url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36')
response= urllib.request.urlopen(req)
html = response.read()
return html
def get_page(url):
'''获取page数'''
html=url_open(url).decode('utf-8')
a = html.find('current-comment-page')+23
b = html.find(']',a)
#print(html[a:b])
return html[a:b]
def find_imgs(url):
'''锁定要爬取的图片'''
html = url_open(url).decode('utf-8')
img_addrs=[]
a = html.find('img src=')
while a!= -1:
b = html.find('.jpg',a,a+255)
if b != -1:
#print(html[a+9:b+4])
img_addrs.append(html[a+9:b+4])
else:
b = a+9
a = html.find('img src=',b)
return img_addrs
#for each in img_addrs:
# print(each)
def save_imgs(folder,img_addrs):
'''保存图片'''
for each in img_addrs:
print(each)
filename = each.split('/')[-1]
with open(filename,'wb') as f:
img = url_open('http:'+each)
f.write(img)
def download_mm(folder='mm',pages=10):
'''下载到指定路径'''
os.mkdir(folder)
os.chdir(folder)
url = 'http://jandan.net/ooxx/'
page_num = int(get_page(url))
print(page_num)
for i in range(pages):
page_num -= i
page_url = url+'page-'+str(page_num)+'#comments'
print(page_url)
img_addrs = find_imgs(page_url)
save_imgs(folder,img_addrs)
if __name__=='__main__':
download_mm()
3、总结
小鱼:只有工作,才能让我不美丽的心情,晴朗起来!
小云:鱼哥,要不是看到你爬取的这些图片,,我差点信了你说的话!!!
小鱼: 你… 相煎何太急~ ~~
我是小鱼:
- CSDN 博客专家;
- 阿里云 专家博主;
- 51CTO 博客专家;
- 51认证讲师;
- 金牌面试官&面试培训师;
关注我,带你学习更多更有趣的Python知识。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)