Skip to content

Instantly share code, notes, and snippets.

@umihico
Last active July 11, 2018 06:06
Show Gist options
  • Save umihico/279c87001046928811f0341b06203e4d to your computer and use it in GitHub Desktop.
Save umihico/279c87001046928811f0341b06203e4d to your computer and use it in GitHub Desktop.
大量のテキストから住所を抜き出す
import re
def get_address_regex_lxmltree(lxmltree):
address_list = []
for text in lxmltree.itertext():
address_list.extend(get_address_regex_text(text))
return address_list
def get_address_regex_text(text):
return re.findall("(...??[都道府県].+?市.+?区|.+?[市区町村].+)", text)
if __name__ == '__main__':
from requests import get
from lxml import html
from umihico_commons.functools import save_as_txt
url = "https://www.mhlw.go.jp/kouseiroudoushou/shikaku_shiken/h25_kaijou.html"
lxmltree = html.fromstring(get(url).text)
result = get_address_regex_lxmltree(lxmltree)
save_as_txt("result.txt", result)
# urls = re.findall(
# "https?://[\w/:%#\$&\?\(\)~\.=\+\-]+", get(url_list).text)
# print(urls)
['札幌市白石区東札幌6条1丁目1-1',
'札幌市北区北7条西2丁目9',
'札幌市北区北7条西2丁目5',
'札幌市中央区南22条西7丁目',
'札幌市中央区大通西17丁目1-22',
'弘前市文京町1',
'産業見本市会館サンフェスタ・卸町会館',
'仙台市若林区卸町2-15-2',
'仙台市宮城野区港3-1-7',
'仙台市青葉区国見1-19-1',
'仙台市太白区八木山香澄町35-1',
'新潟市中央区浜浦町1-8',
'千代田区神田須田町1-5-10',
'中央区八重洲1-2-16',
'江東区有明3-5-7',
'豊島区西巣鴨3-20-1',
'港区白金台1-2-37',
'府中市朝日町3-11-1',
'八王子市片倉町1404-1',
'世田谷区太子堂1-7-57',
'大田区西蒲田5-23-22',
'豊島区西池袋3-34-1',
'愛知県日進市岩崎町阿良池12',
'金沢市常盤町212-1',
'河北郡内灘町大学1-1',
'金沢市太陽が丘1-1',
'寝屋川市早子町12-16',
'和泉市まなび野1-1',
'東大阪市御厨栄町4-1-10',
'大東市中垣内3-1-1',
'東大阪市小若江3-4-1',
'寝屋川市初町18-8',
'吹田市片山町2-5-1',
'広島市南区霞1-2-3',
'広島市安佐南区安東6-13-1',
'広島市中小企業会館',
'広島市西区商工センター1-14-1',
'広島市西区福島町2-1-1',
'高松市林町2217-1',
'高松市総合体育館',
'高松市福岡町4-36-1',
'高松市春日町960\u3000',
'高松市幸町1-1',
'高松市寿町2-4-20',
'高松市亀岡町1-10',
'福岡市南区玉川町22-1',
'福岡市中央区福浜1-3-1',
'福岡市博多区博多駅南4-2-10',
'福岡市南区筑紫丘1-1-1',
'福岡市城南区七隈8-19-1',
'北九州市小倉北区浅野3-8-1',
'福岡市早良区西新6-2-92\xa0',
'福岡市東区和白東3-30-1',
'熊本市北区和泉町325',
'宜野湾市野嵩736',
'中頭郡西原町字翁長777',
'中頭郡西原町字千原1',
'那覇市久米2-15-23',
'那覇市字国場555',
'〒100-8916 東京都千代田区霞が関1-2-2 電話:03-5253-1111(代表)']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment