このページの名前と小見出しを抽出しようとしています (たとえば)。名前の抽出には問題はありませんが、小見出しには失敗しています。Chrome の inspect 要素を使用して、小見出しテキスト「Canada Census, 1901」が次のように埋め込まれていることを確認しました。
<div class="person-info">
<div class="title ng-binding">Helen Brad in household of Geo Wilcock</div>
<div class="subhead ng-scope ng-binding" data-ng-if="!recordPersonCentric">Canada Census, 1901</div>
そこで、スクリプトを次のようにコーディングしました。
import urllib2
import re
import csv
from bs4 import BeautifulSoup
import time
def get_FamSearch():
link = "https://example.org/pal:/MM9.1.1/KH11-999"
openLink = urllib2.urlopen(link)
Soup_FamSearch = BeautifulSoup(openLink, "html")
openLink.close()
NameParentTag = Soup_FamSearch.find("tr", class_="result-item highlight-person")
if NameParentTag:
Name = NameParentTag.find("td", class_="result-value-bold").get_text(strip=True)
name_decode = Name.encode("ascii", "ignore")
print name_decode
SubheadTag = Soup_FamSearch.find("div", class_="subhead ng-scope ng-binding")
if SubheadTag:
print SubheadTag.get_text(strip=True)
get_FamSearch()
これは、小見出しを見つけて抽出することができない結果です。
Helen Brad
[Finished in 2.2s]