糗事百科图片下载

#糗事百科挂了
#照视频手打
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()
作者:求知鱼

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

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

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

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

原文地址:https://www.cnblogs.com/Qiuzhiyu/p/12182936.html