zoukankan      html  css  js  c++  java
  • 糗事百科图片下载

    #糗事百科挂了
    #照视频手打
    import urllib.request
    import urllib.parse
    import re
    import os
    import time
    
    
    
    #下载每一页回传内容中的图片
    #使用正则搜索图片链接
    def down_load_image(content):
        pattern = re.compile(r'<img src="(.*?)"')
        lt = pattern.findall(content)
        #print(lt)
        #遍历列表,依次下载图片
        for image_src in lt:
            #先处理image_src
            image_src = "http:"+image_src
            #发送请求,下载图片
            #创建文件夹
            dirname = "qiutu"
            if not os.path.exists(dirname):
                os.mkdie(dirname)
            #图片名字叫啥
            filename = image_src.split("/")[-1]
            filepath = dirname +"/" +filename
            print("%s 图片正在下载...." % filename)
            urllib.request.urlretrieve(image_src,filepath)
            print("%s 图片结束下载...." % filename)
            time.sleep(1)
    
    
    #根据不同的页码生成不同的请求对象
    def handle_request(url,page):
        url = url+ str(page) +'/'
        #print(url)
        #构造请求头
        headers = {
        "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
    }
        request = urllib.request.Request(url=url,headers=headers)
        return request
    
    
    def main():
        url = "https://www.qiushibaike.com/pic/page/"
        start_page = int(input("请输入起始页码:"))
        end_page = int(input("请输入结束页码:"))
        for page in range(start_page,end_page+1):
            print("第%s页开始下载" % page)
            #生成请求对象
            request = handle_request(url,page)
            #发送请求对象,获取相应内容
            content = urllib.request.urlopen(request).read().decode()
            #解析内容,提取所有的图片链接,下载图片
            down_load_image(content)
            print("第%s页下载完了" % page)
            print()
            print()
            time.sleep(2)
    
    
    if __name__=='__main__':
        main()
    作者:求知鱼

    -------------------------------------------

    个性签名:你有一个苹果,我有一个苹果,我们交换一下,一人还是只有一个苹果;你有一种思想,我有一种思想,我们交换一下,一个人就有两种思想。

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    独学而无友,则孤陋而寡闻,开源、分享、白嫖!

  • 相关阅读:
    计算机专业术语中英对照
    PhpStorm如何下载github上的代码到本地
    PDO学习
    Shell中特殊的变量
    Shell中变量的使用
    修改cmd的字体
    Shell的输入输出
    Shell入门第一课
    设计模式--观察者(Observer)
    eclipse中使用git提交代码到github
  • 原文地址:https://www.cnblogs.com/Qiuzhiyu/p/12182936.html
Copyright © 2011-2022 走看看