python爬虫-数据解析(正则)

python爬虫-数据解析(正则)

python爬虫-数据解析(正则)

正则解析案例–爬取糗事百科的图片

糗事百科URL
https://www.qiushibaike.com/imgrank/page/2/

在这里插入图片描述
查看网页源代码,发现图片储存的地址

import requests
import re
import os


if __name__ == '__main__':
    headers = {
   
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
    }
    #判断是否存在qiushi文件夹,如果不存在就创建一个
    if not os.path.exists('./qiushi'):
        os.mkdir('./qiushi')
        
    url = 'https://www.qiushibaike.com/imgrank/page/%d/'
    for pageNum in range(1,3):
        new_url = format(url%pageNum)
		#通用爬虫请求页面数据
        gate_text = requests.get(url=new_url,headers=headers).text
        
        ex = '<div class="thumb">.*?<img src="(.*?)" alt=.*?</div>'
        #正则匹配,匹配出图片地址
        ex_data = re.findall(ex,gate_text,re.S)
        
        for src in ex_data:
        	#拼接出完整的图片URL
            src = 'https:'+src
            #请求图片二进制数据
            img_data = requests.get(url=src,headers=headers).content
            img_name = src.split('/')[-1]
            img_path = './qiushi/' + img_name
            #创建并写入图片二进制数据
            with open(img_path,'wb') as fp:
                fp.write(img_data)
                print(img_name,'success!!')

爬取结果
在这里插入图片描述
练习

https://pic.netbian.com/4kmeinv/

这里是引用

import re
import requests
import os

if __name__ == '__main__':
    if not os.path.exists('./meinv'):
        os.mkdir('./meinv')

    url = 'https://pic.netbian.com/4kmeinv/'

    headers = {
   
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
    }

    page_text = requests.get(url=url,headers=headers).text
    ex = '<li><a href=".*?target=".*?<img src="(.*?)" alt=.*?</a></li>'
    ex_data = re.findall(ex,page_text,re.S)
    for src in ex_data:
        src = 'https://pic.netbian.com/'+src
        img_data = requests.get(url=src,headers=headers).content
        img_name = src.split('/')[-1]
        img_path = './meinv/' + img_name
        with open(img_path, 'wb') as fp:
            fp.write(img_data)
            print(img_name, 'success!!')


结果
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100112.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 如何安装windows和linux双操作系统?

    如何安装windows和linux双操作系统?如何安装windows和linux双操作系统?一、win压缩卷:1.右键此电脑,选择管理,选择磁盘管理。2.挑选一个磁盘然后右击选择压缩卷,空间大小自己确定。二、下载复刻工具和iso光盘映像文件:1.把它们都下载好,然后点击运行刻录工具。2.所有选项都默认,然后点击next就完事。然后到这个界面。3.选择好映像文件和U盘,开始写入。(注意写入后,U盘所有文件将被覆盖。)4.写入完成。5.将电脑关机。三、开始安装linux系统:1.开机时,持续摁自己电脑机型对应的键来进入BIOS,我的是esc键。2.选择U盘

  • Spring源代码由浅入深系列五 GetBean

    Spring源代码由浅入深系列五 GetBean

  • Wireshark介绍 与 过滤器表达式语法

    Wireshark介绍 与 过滤器表达式语法

  • wangeditor富文本编辑器的使用(超详细)

    wangeditor富文本编辑器的使用(超详细)wangeditor是一款轻便的富文本编辑器,本文主要帮助大家快速学习使用wangeditor编辑器。

  • pycharm需要什么配置_pycharm运行python

    pycharm需要什么配置_pycharm运行pythonPyCharm配置Gitee第一步:下载安装Git(安装一路Next就行)https://git-scm.com/download/win第二步:打开PyCharm,配置GitFile->Setting->搜索Git点击选择Git安装路径选择bin目录下的git.exe点击OK,git配置成功第三步:下载安装gitee在Setting中选择Plu…

    2022年10月21日
  • linux系统重启网卡命令_centos 7重启网卡命令

    linux系统重启网卡命令_centos 7重启网卡命令大家在实际工作中,经常会遇到Linux系统进行重启网卡的操作,那么具体如何进行重启呢?下面就由学习啦小编跟大家分享一下操作步骤吧,希望对大家有所帮助~linux系统重启网卡的方法一、servicenetworkrestart1、首先用CRT工具连接到Linux命令行界面。或者进入操作系统界面,选择终端输入。2、如果我们对所有的网卡进行重启操作。可以尝试输入:servicenetwork…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号