カテゴリー:
クローラ
閲覧数:420 配信日:2017-03-02 21:49
XPath
XML形式の文書の要素を指定する言語
Chromeブラウザを使用して「任意のHTML要素のXPath」を確認する手順
・1.要素の検証
・2.Elementsタブの任意の要素を右クリック
・3.Copy XPath でXPathを取得
PythonでXPathを使う時はlxmlモジュールを使用
・ 要素を指定して、値を抽出
コード例
▼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 urllib2
import lxml.html
#変数htmlには上記のHTMLがstrで代入されているとします。
dom = lxml.html.fromstring(html)
#変数title, timestamp, author, author_link, bodyにそれぞれタイトル、投稿日時、著者、著者のリンク、記事本文が代入されます。
title = dom.xpath('//h1')[0].text
timestamp = dom.xpath('//*[@id="articleInfo"]//*[@class="timestamp"]')[0].text
author = dom.xpath ('//*[@id="articleInfo"]//*[@class="author"]/a')[0].text
author_link = dom.xpath ('//*[@id="articleInfo"]//*[@class="author"]/a')[0].attrib['href']
body = dom.xpath('//*[@id="articleText"]')[0].text