爬虫必须学会的正则表达式

实际上爬虫一共就四个主要步骤:

  1. 明确目标 (要知道你准备在哪个范围或者网站去搜索)
  2. 爬 (将所有的网站的内容全部爬下来)
  3. 取 (去掉对我们没用处的数据)
  4. 处理数据(按照我们想要的方式存储和使用)

模式修正符的构成 
模式修正符就是字母,只不过这些在模式修正符的应用之中有特殊的含义。下面我来看看都有哪些模式修正符,请看下表: 

模式修正符 说明
i 表示在和模式进行匹配进不区分大小写
m 将模式视为多行,使用^和$表示任何一行都可以以正则表达式开始或结束
s 如果没有使用这个模式修正符号,元字符中的"."默认不能表示换行符号,将字符串视为单行
x 表示模式中的空白忽略不计
e 正则表达式必须使用在preg_replace替换字符串的函数中时才可以使用(讲这个函数时再说)
A 以模式字符串开头,相当于元字符^
Z 以模式字符串结尾,相当于元字符$
U 正则表达式的特点:就是比较“贪婪”,使用该模式修正符可以取消贪婪模式

例如: 


 
  
  
  1. $str1 = <<<str
  2. <div class="e_box e_ProductBox-001 p_Product" dataId=812 data-dismoveable data-foreachitem>
  3. 33333333
  4. </div>
  5. str;
  6. $str = preg_replace( "/[\t\n\r]+/", "",$str1); // 过滤换行空格等
  7. $partern = '/<div class="e_box e_ProductBox-001 p_Product" (.*?)>(.+?)<\/div>/'; // 正则匹配式
  8. $str = "<h1>1111</h1><H1>2222</H1>";
  9. $partern = '/<h(\d)>.*?<\/h\1>/i'; // \d 数字0-9的任意数字 i 不区分大小写
  10. preg_match_all($partern,$str,$match);
  11. dump($match);

猜你喜欢

转载自blog.csdn.net/weixin_43944691/article/details/105535807