• python 抓取糗事百科糗图


    1 首先看下要抓取的页面

    这是糗事百科里面的糗图页面,每一页里面有很多的图片,我们要做的就是把这些图片抓取下来。

    2 分析网页源代码

    发现源代码里面的每张图是这样储存的,所以决定使用正则匹配出图片的url,然后下载下来。

    3 编写程序

    import requests
    import re
    import os
    
    def main():
        url = 'https://www.qiushibaike.com/pic/page/{}/'
        ua_headers = { "User-Agent":'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)'}
        # 指定其实页码和结束页码
        page_start = int(input('请输入开始页面:'))
        page_end = int(input('请输入结束页面:'))
        # 找文件夹,如果没有则创建一个
        if not os.path.exists('Images'):
            os.mkdir('Images')
        # 循环下载
        for page in range(page_start, page_end+1):
            print('正在下载第%d页图片...'%page)
            new_url = url.format(page)
            responses = requests.get(url=new_url, headers=ua_headers)
            if responses.status_code == 200:
                res = responses.text
            else:
                print('页面没有响应')
            pattern = re.compile('''<div class="thumb">.*?<img src="(.*?)".*?>.*?</div>''', re.S)
            items = re.findall(pattern, res)for item in items:
                url_image = 'https:' + item
                name_image = item.split('/')[-1]
                image_path = 'Images/' + name_image
                image_data = requests.get(url=url_image, headers=ua_headers).content
                with open(image_path, 'wb') as f:
                    f.write(image_data)
    
    if __name__ == '__main__':
        main()

    3 查看爬取到的图片

    一个很简单的小程序。

  • 相关阅读:
    Flex布局
    【北京法院网上立案工作办法】
    欢迎注册北京法院电子诉讼平台账号
    授权书范本
    拷贝构造函数与移动构造函数
    力扣刷题计划-字符串-最长公共前缀
    多节点树结构
    WPF的TreeView添加鼠标双击事件MouseDoubleClick执行两次
    力扣刷题计划-动态规划-整数拆分
    Java解决字节流乱码问题
  • 原文地址:https://www.cnblogs.com/xiaozx/p/10717762.html
Copyright © 2020-2023  润新知