2019年3月1日金曜日

Python スクレイピング


import requests, bs4
import re

hoge='http://www.hoge.....hoge.html'

res = requests.get( hoge )
soup = bs4.BeautifulSoup(res.text, "html.parser")
tag=soup.select('a')

for i in tag:
    m=re.search(r'\d{6}' , i.getText() )
    if m:
        string=m.group(0)
        print(string)
        break

hogeのサイトに行って、aタグのテキストを取得して、そこに6桁の数字があれば出力して終了するコードです
出来たら良いなあとふと思ってちょっと調べたら簡単にできた( ´∀`)
pythonすごいな

こういうのスクレイピングっていうだね、知らなかったけど、かなり需要があるみたい
pythonが人気ある理由の一つらしい
私は今のところあまり興味ないけど・・・・

Pythonだと、webアクセスならurlOpenってのもありました
ページのテキストを取得するだけならprint(res.text)でイケます
このバッファを自力で調べても良いと思うけど、タグの構造分析なりテキスト抽出なりを自力でやりたくなければBeautifulSoupを使うことになる
これが使いやすいらしく人気の理由みたいだね
しかし使う前にhtmlのタグの知識は必要になります
私はあんまり詳しくないし興味も無いのでこれ以上突っ込むつもりは無いけど、便利なので備忘録として残しておきます

0 件のコメント:

コメントを投稿