使用正则表达式抓取图片信息,一定要了解正则表达的意义。推荐看这位老师的网站(Python正则表达式详解 (超详细,看完必会!)_全 洛的博客-CSDN博客_python正则表达式),学习正则表达式的大部分使用方法了。正则表达式抓取图片信息,最主要是抓取到的网站数据怎么匹配数据值,难点也是怎么用正则方法去匹配数据值。将匹配的值转化为本地存储。

下面介绍几个正则表达式的作业,爬取某浪网站的图片,完全用于技术分享,不用于商业发展。

作业一:

# -*- conding:utf-8 -*-
import requests
import re
#需求:爬取某体育中图片信息
if __name__ == "__main__":#检查图片地址url = 'https://n.sinaimg.cn/sports/transform/180/w640h340/20221129/622c-86c9b926b93c22862eee0fc6416d4fde.jpg'#伪装浏览器headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 '}#content返回的是二进制形式的图片数据#text(字符串),content(二进制)json(对象)image_data = requests.get(url=url).contentwith open('./qutu.jpg','wb') as fp:fp.write(image_data)print('get图片结束!')

编译结果:

作业二:

# -*- conding:utf-8 -*-
import requests
import re
import os
#需求:爬取某体育中图片信息
if __name__ == "__main__":#判断系统是否存在文件夹,没有文件夹自行创建。if not os.path.exists('./gitPicture'):os.mkdir('./gitPicture')#检查图片地址url = 'http://sports.sina.com.cn/'#伪装浏览器headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 '}#text(字符串),content(二进制)json(对象)picture_data = requests.get(url=url,headers=headers).text#使用聚焦爬虫将页面中所有的新浪图片进行解析/提取,使用正则表达式匹配字符。 .是匹配任意字符,#匹配前面字符出现多次,?匹配前面字符出现一次或者零次ex = 'height: 236px;">.*?<img src="(.*?)" alt.*? '#使用正则表达式函数匹配,用re.S进行换行搜索image_src_list = re.findall(ex,picture_data,re.S)#使用for循环从列表中抽取每个图片数据,进行命名保存。for src in image_src_list:img = srcimage_data = requests.get(url=img,headers=headers).contentimage_name = img.split('/')[-1]image_Path = './gitPicture/'+image_name#本地化存储到对应文件夹中with open(image_Path,'wb') as fp:fp.write(image_data)print(image_name,'下载成功!!!')

编译结果:

作业三:

# -*- conding:utf-8 -*-
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/107.0.0.0 Safari/537.36 '}#判断系统是否存在文件夹,没有文件夹自行创建。if not os.path.exists('./sina_gitPicture'):os.mkdir('./sina_gitPicture')#检查图片地址,%d是变量值,url = 'http://slide.sports.sina.com.cn/g/slide_2_730_282986.html#p=%d'#p=1,2,3,4,5,6,7---到12对应不同的值,不同的值对应不同的图片信息。# pic_list=[]#取一个for循环,旋转每个值抓取不同图片值,但是p=2的url里面已经包涵所有高清值的图片了。for pageNum in range(2,3):new_url = format(url%pageNum)picture_data = requests.get(url=new_url, headers=headers).text#使用正则表达式定义到爬取下来的文本图片数据的位置,采用字符拼接的方式,利用前面http开头相同的数据值,抓取后面不同值得数据值,后续在用字符串拼接的方式将url拼接回来了ex = '<dd>.*?http://n.sinaimg.cn/sports/2_img/dfic/a7a65bdb/(.*?)</dd>.*?'# 使用正则表达式函数匹配,用re.S进行逐行搜索image_src = re.findall(ex, picture_data, re.S)#利用for循环在列表中抽取正则表达式抓下来的数据值。for src in image_src:#用字符串拼接的方式,组成合格的URL取值。new_src='http://n.sinaimg.cn/sports/2_img/dfic/a7a65bdb/'+src#get的方法抓取图片的数据。image_data = requests.get(url=new_src, headers=headers).content#利用分隔符split将/后面的数据信息抓取出来命名。image_name = new_src.split('/')[-1]image_Path = './sina_gitPicture/' + image_name# 本地化存储到对应文件夹中with open(image_Path, 'wb') as fp:fp.write(image_data)print(image_name, '下载成功!!!')

总结:本帖子只用于技术研究和探讨了,不用于商业利益的使用。爬虫是利用浏览器的属性和载荷值进行爬取图片资料,最重要是正则表达式的精准定位到图片的jpg位置,然后用正则表达式进行抓取数据,将抓取的数据加入列表中,在进行For循环本地存储。

技术参考网站:

4.正则解析案例02_哔哩哔哩_bilibili

Python 中使用 join() 函数把列表拼接成一个字符串_宁萌Julie的博客-CSDN博客_python列表拼接成字符串

Python使用正则表达式爬取网站图片信息相关推荐

  1. [python]豆瓣网爬取图书图片信息教程

    [python]豆瓣网爬取图书图片信息教程 1.准备工作:已经爬取了图片的URL,图书的相关信息,以便后期进行标记. 画圈处为图片链接和图书ID(用于匹配图片) 2.定义url数组和id数组 作用同上 ...

  2. [python] 常用正则表达式爬取网页信息及分析HTML标签总结

    这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法.它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~ 当然如果会Selenium基于自动化测试爬 ...

  3. Pycharm + python 爬虫简单爬取网站数据

    本文主要介绍简单的写一个爬取网站图片并将图片下载的python爬虫示例. 首先,python爬虫爬取数据,需要先了解工具包requests以及BeautifulSoup requests中文文档:ht ...

  4. Python网络爬虫——爬取网站图片小工具

    最近初学python爬虫,就写了一个爬取网站图片的小工具,界面如下: 用到的包主要是爬虫常用的urllib,urllib2和图形界面用的Tkinter,完整代码如下: # -*- coding:utf ...

  5. python爬虫 多线程 爬取网站排行榜上的所有小说

    python爬虫,多线程批量爬取多部小说 欢迎阅读 环境 获取排行榜top上的所有小说地址 分析排行榜top100页面的html,获取所有小说的url 遍历小说列表url到生成txt 多线程启动爬取任 ...

  6. 【python爬虫】爬取网站数据,整理三句半语料数据集

    因为目前没有公开的三句半语料库,所以在网络上爬取一些网站上公开的三句半数据. 主要分为两部分: 目录 爬取数据 清洗数据 爬取数据 以爬取 http://p.onegreen.net/JuBen 上的 ...

  7. beautifulsoup_如何使用 Python 和 BeautifulSoup 爬取网站

    作者丨Justin Yek 译者丨平川 互联网上的信息如此之多,任何人穷其一生也无法全部消化吸收.你需要的不是访问这些信息,而是一种可伸缩的方式,可以用来收集.组织和分析这些信息.你需要的是 Web ...

  8. python爬虫正则表达式爬取网页标签_Python爬虫实例(4)-用urllib、re和正则表达式爬取网页图片...

    文章目录简介正则爬虫Demo本例知识点 简介 python的第三方包极多种,尽量多看多用,对开发者来说是很好的.在爬虫领域,请求网页,除了requests包之外,还有urllib.request模块: ...

  9. Python爬虫(1)------爬取网站图片

    初学爬虫的学习流程 环境 python 3.6 使用 urlib库进行爬取内容 熟悉爬虫 首先对百度进行爬取 # -*- coding: utf-8 -*- import urllib.request ...

最新文章

  1. 20155328 《信息安全系统设计基础》 课程总结
  2. VC++ MFC中如何将应用程序的配置信息保存到注册表中(一)
  3. D:\我的文档\收藏夹
  4. Postgres客户端编码问题
  5. element ui 表单验证为正整数
  6. linux下隐藏输入密码
  7. Humble Numbers USCAO chapter 3.1
  8. 使用“即时消息服务框架”(iMSF)实现分布式事务的三阶段提交协议(电商创建订单的示例)...
  9. javascript鼠标拖拽的那些事情
  10. 根据前一个元素的check状态决定其他元素disable
  11. mysql flaskalchemy_FlaskSQLAlchemy声明性和MySQL特定的数据类型
  12. oracle pmon andsmon,SMON and PMON
  13. android小米4c 权限,小米手机4c详细刷成开发版获得Root权限的步骤
  14. 【游戏】Win 10 运行红色警戒2
  15. Abstraction Functions and Rep Invariants
  16. kubernetes Downward API
  17. 海豚php框架漏洞,代码审计 - dolphin.pro cms SQL注入漏洞,Bypass过滤规则
  18. 从幻想到现实,虚拟人的成长之路
  19. n阶台阶 java_上N阶楼梯,一次走1个台阶或者2个台阶,共有多少种走法?
  20. 【Simulink教程案例3】结合MATLAB对比PID控制器和模糊控制器

热门文章

  1. 长征二号超级计算机,厉害了,我们的计算机!
  2. Set集合的概述及特点
  3. 典型相关分析 python_CCA典型关联分析原理与Python案例
  4. COLA 4.0 - DDD项目实践
  5. cas 部署过程中遇到的一些问题(持续更新)
  6. RabbitMQ的持久化
  7. linux最大文件名,linux和windows文件名长度限制
  8. 一起在手机上安装Linux
  9. BPM 是与非 -- 什么是BPM,如何辨别是否BPM产品,以及如何选择BPM产品
  10. tomcat端口占用极其简单解决办法