[ Python ] 爬虫类库学习之 re 正则解析,爬取糗事百科的 糗图

爬取图片

  • 基于requests模块的get请求
  • 爬取指定url的图片
import requests
if __name__ == '__main__':
    url="https://pic.qiushibaike.com/system/pictures/12296/122960119/medium/8L45TQR77BQYY1C6.jpg"
    # text 字符串 content 二进制形式
    response = requests.get(url)
    img_data = response.content
    with open('./a.jpg','wb') as fp:
        fp.write(img_data)

    print('爬取数据结束!')

糗事百科

  • 爬取 糗事百科 指定页面的 糗图
  • 爬取链接:https://www.qiushibaike.com/imgrank/

在这里插入图片描述

import requests
import os
import re

if __name__ == '__main__':
    # 创建文件夹保存所有图片
    if not os.path.exists('./qiutu'):
        os.mkdir('./qiutu')
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/78.0.3904.108 Safari/537.36 '
    }
    url = "https://www.qiushibaike.com/imgrank/page/%d/"
    # 爬取前两页的图片
    for pageNum in range(1, 3):
        new_url = format(url % pageNum)
        response = requests.get(new_url, headers=headers)
        page_text = response.text
        ex = '<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
        img_src_list = re.findall(ex, page_text, re.S)
        for src in img_src_list:
            src = 'https:' + src
            img_data = requests.get(url=src, headers=headers).content
            img_name = src.split('/')[-1]
            imgPath = './qiutu/' + img_name
            with open(imgPath, 'wb') as fp:
                fp.write(img_data)
                print(img_name + '下载成功!')

    print('爬取数据结束!')

来源:爬虫开发入门丨老男孩IT教育


在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页