#糗事百科挂了
#照视频手打
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()

相关文章:

  • 2021-11-19
  • 2021-08-04
  • 2021-10-02
  • 2021-07-06
  • 2022-01-03
猜你喜欢
  • 2022-12-23
  • 2021-06-12
  • 2021-12-10
  • 2021-11-04
  • 2021-10-31
  • 2022-01-16
  • 2021-12-10
相关资源
相似解决方案