日常業務の中で、csvのデータに含まれるURLのリストからひたすらページタイトルを取得する必要があったので、Pythonを使って楽しました。
参考にしたページはこれ
技術志向 |Python でウェブページのタイトルを取得する
「Beautiful SoupというXML/HTMLのパーサを使うと簡単にタイトルを取得でき」ますが、個人的にちょっと詰まった点があるので一応メモ残しときます。
import urllib
import pandas as pd
import BeautifulSoup
data = pd.read_table("data.tsv", encoding="utf-8")
urls = data["url"]
#ひたすらアクセス&パージング
for x in urls: #urlsはディレクトリ以降
temp = "http://****.co.jp" + urllib.quote(x.encode('utf-8'))
urlopen = urllib.urlopen(temp)
soup = BeautifulSoup.BeautifulSoup(urlopen)
print x, "\t", soup.title.string
urllibに突っ込むためには文字列の型をunicodeからstrに統一する必要があります。ここでは「urllib.quote(x.encode('utf-8'))」と処理しました。他のやり方もありそうです。
ページタイトルが例えば「ニュース|2011年|サイト名」という形式になっており、「2011年」の部分だけを取り出したかったんですが、最終的にエクセルで出力する必要があったこともあり、そちらで処理しました。具体的にはipython notebookでprintしたやつをコピペして、エクセルのRIGHT()、LEFT()、LEN()関数で。