A.正規表現を使う方法

「プログラミング」及び「開発」関連用語集

カテゴリー: クローラ  閲覧数:368 配信日:2017-03-02 21:49


A.正規表現を使う方法


Pythonで正規表現を使う時はreモジュールを使用
・要素を指定して、値を抽出


コード例


▼HTML
<html>
 <head>
   <meta charset='utf-8' />
 </head>
 <body>
   <h1>クローリングとスクレイピング</h1>
   <div id="articleInfo">
     <p>
       <span class="timestamp">2017-3-2 21:15:35</span>
       <span class="author"><a href="http://programming-term.w4c.work/">プログラミング用語</a></span>
     </p>
   </div>
   <div id="articleText">
     ウェブサイトのクローリングとスクレイピングについて  

   </div>
 </body>
</html>


▼Python
#coding: utf-8
import re

#変数htmlには上記のHTMLがstrで代入されているとします。
#変数title, timestamp, author, author_link, bodyにそれぞれタイトル、投稿日時、著者、著者のリンク、記事本文が代入されます。

title = re.compile('\<h1\>(.+?)\<\/h1\>', re.MULTILINE|re.DOTALL).findall(html)[0]
timestamp = re.compile('\<div id="articleInfo"\>.+?\<span class="timestamp"\>(.+?)\<\/span\>', re.MULTILINE|re.DOTALL).findall(html)[0]
author_link, author = re.compile('\<div id="articleInfo"\>.+?\<span class="author"\>\<a href="(.+?)"\>(.+?)\<\/a\>\<\/span\>', re.MULTILINE|re.DOTALL).findall(html)[0]
body = re.compile('\<div id="articleText"\>(.+?)\<\/div\>', re.MULTILINE|re.DOTALL).findall(html)[0]