python写了个爬知乎帖子里图片的爬虫
今天突然想换个桌面背景图,于是就百度一下搜搜看有什么好看的高清壁纸。搜索一会没有找到特别好的,突然想到在知乎看有没有人分享了桌面壁纸。
果不其然,知乎还是很有质量的,虽然看到的一个帖子问题已关闭,但是里面的资源还是很丰富的,于是乎就有了下面这个小爬虫
# 下载知乎某帖子里的图片。
import urllib.request
import re,os
def open_url(url):
req = urllib.request.Request(url)
# req.add_header('User-Agent','*') # *需要自己填
page = urllib.request.urlopen(req)
html = page.read().decode('utf-8')
page.close()
return html
def get_img(html):
p = r'data-original="([^"]+)"'
imglist = re.findall(p,html)
imglist = list(set(imglist)) #把重复的链接去除
num = len(imglist)
print('共有'+str(num)+'幅图')
for each in imglist:
filename = each.split('/')[-1]
if os.path.exists(filename):
continue
else:
urllib.request.urlretrieve(each,filename,None)
print(filename,'保存好了')
if __name__ == '__main__':
url = 'https://www.zhihu.com/question/21180335' #'http://www.zhihu.com/question/38824940'
get_img(open_url(url))
于是得到了一堆图可供挑选作背景。