zoukankan      html  css  js  c++  java
  • 正则解析_分页爬取

    #!/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,'下载成功')
    
  • 相关阅读:
    ZOJ 2770 Burn the Linked Camp 差分约束
    作业04 一个简单的扑克牌游戏
    C++友元
    ZOJ 3645高斯消元
    CodeForces 55D 数位统计
    03类的设计和使用
    HDU 4522
    POJ 2559单调栈
    PL/SQL REPORT 开发模拟登陆
    修改报表心得
  • 原文地址:https://www.cnblogs.com/gerenboke/p/13389006.html
Copyright © 2011-2022 走看看