正则解析_分页爬取

#!/usr/bin/python

import requests 
import re 
import os
#需求:爬取糗事百科中的图片
if __name__ == "__main__":
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2626.106 Safari/537.36'
    }

    #创建一个文件夹,保存所有图片
    if not os.path.exists('./qiutuLibs2'):
        os.mkdir('./qiutuLibs2')
    #设置一个通用的url模板

    url = 'https://www.qiushibaike.com/imgrank/page/%d/?s=5184961'
    #   pageNum = 2

    for pageNum in range(1,13):
        #对应页码的url
        new_url= format(url%pageNum)

        #使用通用爬虫对url对应的一整张页面进行爬取
        page_text = requests.get(url=new_url,headers=headers).text

        #使用聚焦爬虫将页面中的所有的糗图进行解析/爬取
        ex = '<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
        img_src_list = re.findall(ex,page_text,re.S)
        for src in img_src_list:
            #拼接出一个完整的图片url
            src = 'https:'+src
            #请求到了图片的二进制数据
            img_data = requests.get(url=src,headers=headers).content
            #生成图片名称
            img_name = src.split('/')[-1]
            #图片存储的路径
            imgPath = './qiutuLibs/'+img_name 
            with open(imgPath,'wb') as fp:
                fp.write(img_data)
                print(img_name,'下载成功')
posted @ 2020-07-28 08:38  一只小白呀  阅读(184)  评论(0编辑  收藏  举报