Python使用正则表达式爬取网页信息
一、正则表达式是什么?
概念:
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
个人理解:
简单来说就是使用正则表达式来写一个过滤器来过滤了掉杂乱的无用的信息(eg:网页源代码…)从中来获取自己想要的内容
二、实战项目
1.爬取内容
获取上海所有三甲医院的名称并保存到.txt文件中
2.访问链接
上海三甲医院网站 link:https://yyk.99.com.cn/sanjia/shanghai/
3.正则表达式书写的灵感
进入网站查看本页面的源代码发现 :医院的名称都是放在一个
<div class="province-box"> ...... </div>
盒子里我们只需要直接把这个盒子里面的数据过滤一下就行
正则表达式:
法一:
1.一级过滤 :
<div class="province-box">(.*)<div class="wrap-right">
开头是:<div class="province-box"> (.*) 结尾是:<div class="wrap-right">
2.二级过滤:
title="(.*[院心部])*)" 获取title=" " 里面的信息
法二:
优化后一次性过滤:
<li><a href="/[^/].*/" target="_blank" title="(.*)">
贴图片
开头是: