用正则表达式做爬取--java进阶day06
1.String类中与正则有关的方法
replaceAll方法中要填入两个正则表达式,第一个是我们要修改的字符串,第二个则是我们要改成以后的字符串
如下图,出师表中存在很多数字,我们要删去这些数字,就可以使用该方法
2.使用正则表达式做爬取
如图,我们要从这些文字中获取有效的信息,就可以使用正则表达式做爬取,将有效信息搞出来
1.先制定正则表达式,将对应的有效内容写为正则表达式,方便获取
2.使用Pattren类封装对象
Pattern类是专门给正则表达式做封装的类,里面有一个compile方法,可以将我们指定的正则表达式封装成Pattern对象
3.调用matcher方法获取到匹配器对象
封装正则表达式的目的就是为了调用到matcher方法,将要爬取的字符串放入该方法,该方法会返回一个匹配器对象
4.通过匹配器对象调用find和group方法进行爬取
find方法负责查找要爬取的内容里面是否有符合正则表达式,如果有就会返回true
group方法负责将find方法找到的符合正则表达式的内容进行打印输出
需要注意的是,group方法是调用一次就爬取一次,所以要想把所有的内容都爬取出来就要调用多次
而且group方法只能爬取到find找到的内容,因此需要find加group配合使用才能将所有的内容爬取,否则调用多个group,爬取到的也只是find找到一次的内容
当搭配使用时
5.爬取代码优化
实际生活中,我们不知道有多少内容要爬取,也就不知道要调用多少次find和group,但我们可以利用find的一个特点来优化代码
如图,当我们将要爬取的内容修改为两个有效内容,我们调用了3次find方法,第三次时就返回了false
find方法如果找到了就会返回true,没找到有效内容就会返回false,因此我们可以设计一个while循环
用正则表达式做爬取--java进阶day06的更多相关文章
- PYTHON 爬虫笔记九:利用Ajax+正则表达式+BeautifulSoup爬取今日头条街拍图集(实战项目二)
利用Ajax+正则表达式+BeautifulSoup爬取今日头条街拍图集 目标站点分析 今日头条这类的网站制作,从数据形式,CSS样式都是通过数据接口的样式来决定的,所以它的抓取方法和其他网页的抓取方 ...
- 微信公众号批量爬取java版
最近需要爬取微信公众号的文章信息.在网上找了找发现微信公众号爬取的难点在于公众号文章链接在pc端是打不开的,要用微信的自带浏览器(拿到微信客户端补充的参数,才可以在其它平台打开),这就给爬虫程序造成很 ...
- 正则表达式_爬取豆瓣电影排行Top250
前言: 利用简单的正则表达式,获取响应内容爬取数据. Part1 正则表达式(Regular Expression) 1.1 简介 正则表达式,又称规则表达式,它是一种文本模式,就是通过事先定义好的一 ...
- 【python爬虫和正则表达式】爬取表格中的的二级链接
开始进公司实习的一个任务是整理一个网页页面上二级链接的内容整理到EXCEL中,这项工作把我头都搞大了,整理了好几天,实习生就是端茶送水的.前段时间学了爬虫,于是我想能不能用python写一个爬虫一个个 ...
- python爬虫+正则表达式实例爬取豆瓣Top250的图片
直接上全部代码 新手上路代码风格可能不太好 import requests import re from fake_useragent import UserAgent #### 用来伪造爬头部信息 ...
- scrapy实例:爬取中国天气网
1.创建项目 在你存放项目的目录下,按shift+鼠标右键打开命令行,输入命令创建项目: PS F:\ScrapyProject> scrapy startproject weather # w ...
- scrapy实例:爬取天气、气温等
1.创建项目 scrapy startproject weather # weather是项目名称 scrapy crawl spidername开始运行,程序自动使用start_urls构造Requ ...
- Python 网络爬虫 004 (编程) 如何编写一个网络爬虫,来下载(或叫:爬取)一个站点里的所有网页
爬取目标站点里所有的网页 使用的系统:Windows 10 64位 Python语言版本:Python 3.5.0 V 使用的编程Python的集成开发环境:PyCharm 2016 04 一 . 首 ...
- Python 爬取的类封装【将来可能会改造,持续更新...】(2020年寒假小目标09)
日期:2020.02.09 博客期:148 星期日 按照要求,我来制作 Python 对外爬取类的固定部分的封装,以后在用 Python 做爬取的时候,可以直接使用此类并定义一个新函数来处理CSS选择 ...
- Python+Requests+Re(正则)爬取某糗事百科图片(数据分析一)
1.博客目前在学习爬虫课程,使用正则表达式来爬取网页的图片信息 2.下面我们一起来回归下Python中的正则使用方式/方法 3.糗事百科图片爬取源码如下: import requestsimport ...
随机推荐
- WxPython跨平台开发框架之动态菜单的管理和功能权限的控制
在一个业务管理系统中,如果我们需要实现权限控制功能,我们需要定义好对应的权限功能点,然后在前端界面中对界面元素的可用性和功能点进行绑定,这样就可以在后台动态分配权限进行动态控制了,一般来说,权限功能点 ...
- ofd轻阅读---采用Typescript全新开发,让阅读、批注更方便!
前言 浏览器内核已支持pdf文件的渲染,这极大的方便了pdf文件的阅读和推广.ofd文件作为国产板式标准,急需一套在浏览器中渲染方案. 本人研究ofd多年,分别采用qt.c# 开发了ofd阅读器.本 ...
- mxGraph绘制机构图
简单介绍一下使用的依赖: JGraphX package JGraphX is a Java Swing diagramming (graph visualisation) library lic ...
- linux:shell
关于shell 什么是shell? shell,是用c编写的,既是命令语言,也是一种程序设计语言 shell指一种应用程序,该程序提供一个界面,用户可通过该界面访问操作系统 什么是脚本? 脚本是一条文 ...
- Codeforces Round 957 (Div. 3)
题目链接:Codeforces Round 957 (Div. 3) 总结:E不懂,F差一个set去重 A. Only Pluses fag:枚举 B. Angry Monk fag:模拟 Solut ...
- Delphi中IdHttp组件异常非200获取返回JSON数据
参考原文:https://www.atozed.com/forums/thread-771.html?highlight=400+Bad+Request 另外还有一篇文章说明也可参考 http://w ...
- 2025年值得推荐的 8 款 WPF UI 控件库
前言 今天大姚给大家分享 8 款开源.美观.功能强大.简单易用的WPF UI控件库,希望可以帮助到有需要的同学. WPF介绍 WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的 Wind ...
- MacOS配置Homebrew
Homebrew笔记 1. 介绍 官网:https://brew.sh/ 对于习惯了使用命令来完成一切的程序员来说,安装软件这种小事,自然是能够用命令解决,就不用图形界面选择.但是在 Linux 中, ...
- JUC并发—6.AQS源码分析二
大纲 1.ReentractReadWriteLock的基本原理 2.基于AQS实现的ReentractReadWriteLock 3.ReentractReadWriteLock如何竞争写锁 4.R ...
- 【软件开发】C++使用笔记
[软件开发]C++使用笔记 数据类型 值类型 存放在栈空间中的一段内存. T:左值,最普通的变量,是具有变量名且可取地址的值. \(~\) :右值,常量或不具备名称的值,无变量名不可取地址.通常都是一 ...