所用Python环境为:python 3.3.2 用到的库为:urllib.request re
废话不多说,先上代码:
import urllib.request
import re #获得当前页面的页数page_name
def get_pagenum(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/50.0.2661.102 Safari/537.36')
res = urllib.request.urlopen(req)
html = res.read().decode('utf-8')
p = r'<span class="current-comment-page">[^"]+</span>'
temp = re.search(p,html)
page_num = temp.group()[36:39]
return page_num #将此页面上的图片写入我们的mm文件夹中
def get_img(page_url):
req = urllib.request.Request(page_url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36')
res = urllib.request.urlopen(req)
html = res.read().decode('utf-8')
p = r'<img src="([^"]+\.jpg)"'
url_list = re.findall(p,html)
num = 0
for each in url_list:
file = open('C:/Users/lenovo/Desktop/mm/'+each[-8:]+'.jpg','wb')
if each[0:5] == 'http:':
res = urllib.request.urlopen(each)
else:
res = urllib.request.urlopen('http:'+each)
file.write(res.read())
file.close() #只能直接运行
if __name__ == '__main__':
url = 'http://jandan.net/ooxx/'
page_num = get_pagenum(url)
for i in range(10): #抓取了十个页面上美女图片
page_url = url + 'page-'+str(page_num)+'#comments'
get_img(page_url)
page_num = int(page_num) - 1 #下面是写正则的时候方便看所以粘贴过来的连接
#<img src="//ws3.sinaimg.cn/mw600/006wUWIjgy1fgxrw8goikj30hs0qodh7.jpg" style="max-width: 480px; max-height: 750px;"> #http://jandan.net/ooxx/page-143#comments #<span class="current-comment-page">[141]</span> # http://wx3.sinaimg.cn/mw600/661eb95cly1fgioxk7mk3j20xc1e01f1.jpg #<img src="//wx1.sinaimg.cn/mw600/006wUWIjgy1fgxg2yj5f3j30g70s6dgw.jpg" style="max-width: 480px; max-height: 750px;">
结果如下:
由于时间原因,我只抓取了“煎蛋网”上的十个页面的美女图片罢了,大家可以更改其中的循环次数,可以抓取很多,这里我只抓取了250个图片,一共51.2kb,哈哈,可以很好的欣赏美女图片了,看的都要流鼻血了。。。
当然,此程序还是不够完善,只是我初学python网络爬虫的小作品罢了,以后再些更加完善的。接下来的一段时间真的得好好准备期末考试和考研了,加油!
参考来源: https://zhuanlan.zhihu.com/p/26442105
Note:没有经过我的同意,请勿随便转载!谢谢。