zoukankan      html  css  js  c++  java
  • 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 查看爬取到的图片

    一个很简单的小程序。

  • 相关阅读:
    会话技术——Cookie
    Servlet——Request和Response
    #Servlet——Web之间跳转和信息共享、三大作用域对象
    8个技巧教你区分LED灯具优劣
    建筑景观LED照明设计要考虑哪些?
    荧光材料物理特性对白光LED光输出冷热比的影响
    金刚战神D系列户外全彩D5.92
    2020爱你爱你,海佳集团祝您新年快乐!
    复制文本
    超市会员系统
  • 原文地址:https://www.cnblogs.com/xiaozx/p/10717762.html
Copyright © 2011-2022 走看看