iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python怎么利用正则表达式爬取网页信息及图片
  • 576
分享到

Python怎么利用正则表达式爬取网页信息及图片

2023-06-14 13:06:11 576人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python怎么利用正则表达式爬取网页信息及图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、正则表达式是什么?概念:正则表达式是对字符串操

小编给大家分享一下python怎么利用正则表达式爬取网页信息及图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、正则表达式是什么?

概念:

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

个人理解:

简单来说就是使用正则表达式来写一个过滤器来过滤了掉杂乱的无用的信息(eg:网页源代码…)从中来获取自己想要的内容

二、实战项目

1.爬取内容

获取上海所有三甲医院的名称并保存到.txt文件中

2.访问链接

上海三甲医院网站 link:https://yyk.99.com.cn/sanjia/shanghai/

3.正则表达式书写的灵感

进入网站查看本页面的源代码发现 :医院的名称都是放在一个

<div class="province-box"> ...... </div>

盒子里我们只需要直接把这个盒子里面的数据过滤一下就行

正则表达式:

法一:

一级过滤 : 

   <div class="province-box">(.*)<div class="wrap-right">

开头是:<div class="province-box"> (.*)  结尾是:<div class="wrap-right">

二级过滤:

 title="(.*[院心部])*)" 获取title=" " 里面的信息

法二:

优化后一次性过滤:

 <li><a href="/[^/].*/" rel="external nofollow" rel="external nofollow" target="_blank" title="(.*)">

贴图片

开头是:

Python怎么利用正则表达式爬取网页信息及图片

结尾是:

Python怎么利用正则表达式爬取网页信息及图片

项目源代码

import requestsimport reurl = "Https://yyk.99.com.cn/sanjia/shanghai/"# 模拟浏览器的访问headers ={'User-Agent': 'Mozilla/5.0 (windows NT 10.0; Win64; x64; rv:87.0) '                        'Gecko/20100101 Firefox/87.0'}res = requests.get(url,headers=headers)if res.status_code == 200:#1.获取网页源代码    raw_text = res.text        #2.正则表达式书写:    #2.2注意:正则表达式默认匹配的是一行  我们的源代码是多行匹配的要加另一个参数 re.DOTALL#2.3正则法一:#re.findall() 返回的是lsit集合 一次过滤    re_res = re.findall(r'<div class="province-box">(.*)<div class="wrap-right">', raw_text,re.DOTALL)    #re_res[0] 获取下标是的数据    二次过滤    res=re.findall(r'title="(.*[院心部])*)"',re_res[0])    #检查打印获取到的信息print(res)#2.4正则法二:#(优化)不用二次过滤 一次过滤就解决了    # re_list = re.findall(r'<li><a href="/[^/].*/" rel="external nofollow"  rel="external nofollow"  target="_blank" title="(.*)">', res.text)    #print(re_list)    # 写入文件中    read = open("上海医院名单", "w", encoding='utf-8')    for i in res:        read.write(i)        read.write("\n")    read.close()else:    print("error")

项目目录:

Python怎么利用正则表达式爬取网页信息及图片

部分结果:

Python怎么利用正则表达式爬取网页信息及图片

Python 正则表达式-提取图片地址

import os,sys,time,JSON,timeimport Socket,random,hashlibimport requests,configparserimport json,refrom datetime import datetimefrom multiprocessing.dummy import Pool as ThreadPooldef getpicurl(url):    url = "http://www.mzitu.com/zipai/comment-page-352"    html = requests.get(url).text    pic_url = re.findall('img src="(.*?)"',html,re.S)    for key in pic_url:        print(key + "\r\n")    #print(pic_url)    getpicurl("http://www.mzitu.com/zipai/comment-pag.e-352")

输出结果:

python mmm.py
http://wx3.sinaimg.cn/mw1024/9d52c073gy1fsvu6578k1j20sg15nk4x.jpg

http://wx1.sinaimg.cn/mw1024/9d52c073gy1fsvu64q4lgj20j60nz0ua.jpg

http://wx1.sinaimg.cn/mw1024/9d52c073gy1fsvu67hhbaj20sg110toc.jpg

http://wx2.sinaimg.cn/mw1024/9d52c073gy1fsvu66bw56j20sg0zjtlr.jpg

http://wx1.sinaimg.cn/mw1024/9d52c073gy1fsvu65vvvtj20sg0mmtfc.jpg

http://wx2.sinaimg.cn/mw1024/9d52c073gy1fsvu66gtnzj20sg0zk48h.jpg

http://wx1.sinaimg.cn/mw1024/9d52c073gy1fsvu65q1qyj20sg11vtmo.jpg

http://wx3.sinaimg.cn/mw1024/9d52c073gy1fsvu64wgejj20e60iwtax.jpg

http://wx1.sinaimg.cn/mw1024/9d52c073gy1fsvu66a8xfj20lt0rptgw.jpg

http://wx4.sinaimg.cn/mw1024/9d52c073gy1fsnr6n7n66j20k00ozn52.jpg

http://wx1.sinaimg.cn/mw1024/9d52c073gy1fsnr6njhjyj20sg0zkn88.jpg

http://wx3.sinaimg.cn/mw1024/9d52c073gy1fsnr6n2zmyj20sg0ldten.jpg

以上是“Python怎么利用正则表达式爬取网页信息及图片”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: Python怎么利用正则表达式爬取网页信息及图片

本文链接: https://www.lsjlt.com/news/271278.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python怎么利用正则表达式爬取网页信息及图片
    小编给大家分享一下Python怎么利用正则表达式爬取网页信息及图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、正则表达式是什么概念:正则表达式是对字符串操作...
    99+
    2023-06-14
  • Python如何利用正则表达式爬取网页信息及图片
    一、正则表达式是什么? 概念: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来...
    99+
    2024-04-02
  • Python怎么用正则表达式实现爬取古诗文网站信息
    本篇内容介绍了“Python怎么用正则表达式实现爬取古诗文网站信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!分析古诗文网站下图1展示了古...
    99+
    2023-06-25
  • Python用正则表达式实现爬取古诗文网站信息
    目录分析古诗文网站1. 用正则表达式获取总页数2. 提取诗的标题3. 提取作者和朝代4. 提取诗的内容整理代码完整源代码总结分析古诗文网站 下图1展示了古诗文网站—》诗文 栏目的首页...
    99+
    2024-04-02
  • 利用requests和正则表达式爬取虎扑
    正则表达式解释:符合某个模式(规则)的文本在线测试工具:https://tool.oschina.net/regex详细的正则表达式规则,可见:http://www.runoob.com/python3/python3-reg-expre...
    99+
    2023-01-31
    正则表达式 requests 爬取虎扑
  • 怎么利用Python批量爬取网页图片
    你可以使用Python的requests库来发起HTTP请求,并使用BeautifulSoup库来解析HTML文档以获取图片的URL...
    99+
    2023-09-27
    Python
  • Python爬虫正则表达式怎么理解
    本篇内容介绍了“Python爬虫正则表达式怎么理解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!元字符^ $ * + . | {} [] ...
    99+
    2023-06-17
  • Python中怎么使用正则表达式及正则表达式匹配规则是什么
    1 导库import re2 使用模板re_pattern = re.compile(pattern, flags=0) result = re.findall(re_pattern,string)3 说明参数描述pattern匹配的正则表...
    99+
    2023-05-14
    Python
  • 怎么使用python爬取网页图片
    本篇内容介绍了“怎么使用python爬取网页图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在现在这个信息爆炸的时代,要想高效的获取数据,...
    99+
    2023-07-02
  • python的正则表达式怎么用
    这篇文章主要为大家展示了“python的正则表达式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python的正则表达式怎么用”这篇文章吧。一、正则表达式–元字符re 模块使 Python...
    99+
    2023-06-25
  • python怎么用正则表达式提取字符串
    今天小编给大家分享一下python怎么用正则表达式提取字符串的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。用正则表达式提取字...
    99+
    2023-07-05
  • 使用正则表达式从链接中获取图片名称
    目录需求介绍分析链接中存在参数链接中不存在参数方法一方法二方法三总结需求介绍 后端的数据接口返回图片链接列表,前端将图片列表渲染出来,展示的时候,需要显示图片名称。如以下的图片链接,...
    99+
    2024-04-02
  • 怎么利用Python网络爬虫来提取信息
    怎么利用Python网络爬虫来提取信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面小编就为大家带来一篇Python网络爬虫与信息提取(实例讲解)。小编觉得挺不错的,现在就...
    99+
    2023-06-02
  • Python中怎么利用正则表达式匹配子串
    本篇文章给大家分享的是有关Python中怎么利用正则表达式匹配子串,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。获取Python正则表达式所匹配的子串(Get the part...
    99+
    2023-06-17
  • Python利用正则表达式从字符串提取数字
    目录前言利用正则表达式从字符串提取数字附python正则表达式抽取文本中的时间日期总结前言 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Pyt...
    99+
    2024-04-02
  • 怎么使用matlab爬取网页图片
    要使用Matlab来爬取网页图片,可以使用以下步骤:1. 首先,需要安装和配置Matlab的Web Access Toolbox。这...
    99+
    2023-08-20
    matlab
  • Python中的正则表达式怎么用
    这篇文章主要为大家展示了“Python中的正则表达式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中的正则表达式怎么用”这篇文章吧。1.正则表达式是什么很简单就是一种字符串匹配...
    99+
    2023-06-25
  • Python中怎么利用正则表达式替换字符串
    Python中怎么利用正则表达式替换字符串,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。替换所有匹配的子串用newstring替换subject中所有与正则表达...
    99+
    2023-06-17
  • python网络爬虫精解之正则表达式的使用说明
    目录一、常见的匹配规则二、常见的匹配方法1、match()2、search()3、findall()4、sub()5、compile()一、常见的匹配规则 二、常见的匹配方法 1、...
    99+
    2024-04-02
  • jmeter正则表达式提取器怎么使用
    这篇文章主要介绍“jmeter正则表达式提取器怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jmeter正则表达式提取器怎么使用”文章能帮助大家解决问题。使用方法1,把正则表达式添加到需要提...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作