キュアセブン技術ブログ

考えたこと,学んだことを書きます

pythonで都道府県名の配列を作る

 やったこと

  1. beautiful soup4により方言辞書トップページから都道府県名とその地域について取って来た.
  2. splitによりスペースで区切られた文字列を配列boxに入れた.
  3. 5文字以下のものは別の配列prefに入れた.

メモ

  • splitをspritとスペルミスしてエラーをはいた.
  • スクレイピングして来たままの状態ではliが変わるごとに改行されたのでreplce("¥n"," ")して一旦SSVとした.
  • ()内の説明文は5文字以上だったので,5文字に満たない都道府県名とはそれで判別した.
  • appendで配列に追加した

 

参考

使用している方言辞書

dictionary.goo.ne.jp

今回書いたソースコード

試した跡も残しとく

    #タイトルを引っ張てくる
import requests,bs4
# import re
res = requests.get('https://dictionary.goo.ne.jp/dialect/')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
elems = soup.find_all("ul",class_="list-simple-d")
box = []
pref = []
# print(elems)
# n = 1
for elem in elems:
    # print(n)
    prefname = elem.getText()
    # print(type(prefname))
    # pattern = "(.*) (.*)"
    # d = re.search(pattern,prefname)
    # print(d.group(1))
    # print(prefname.sprit()[0])
    # f = open(elem.getText(),'w')
    # f.write(elem.getText())
    # f.close()
    # print(elem.getText())
    # n = n + 1
    # print(prefname.split(" "))
    # box = prefname.split()
    str = prefname.replace("¥n"," ").split()
    # print(str)
    # box.append(str)
    for w in str:
        box.append(w)
        if len(w) < 5:
            pref.append(w)
        # print(w)

print(pref)
print(len(pref))
    # box.append()

# for w in box:
#     print(str(w) + "¥n")

#
# pref = []
# for i in box
# print(i)
#     if box[i] < 5
#         pref.append(box[i])
#
# print(pref)

 

beautiful soupでタグの中を取って来たときの様子f:id:shiningcureseven:20180721232023p:plain
整形後

f:id:shiningcureseven:20180721232329p:plain

 

 

 

ちっちゃいことからやってます