今回はスクレイピングをやっていきたいと思います。
これができれば自作PCの見積もりとかができると思ったからです。
!注意!
これから行うスクレイピングという作業は、サービスによっては禁止されています。(Amazonや楽天など)
また、仮に禁止されていなかったとしても繰り返し行うなど負荷をかかることをすると業務妨害となりますので注意しましょう。
Pythonのプロンプトで試してみる
ひとまず気軽にスクレイピングを行っていきましょう。
まずは、URLのソースコードを取得します。
>>> import requests >>> res = requests.get("https://kakaku.com/item/K0001540017/") >>> text = res.text >>> print(text)
ここから、最安値の部分のみを摘出して入手したいわけです。
ひとまず、その最安値が表示されているところはどのようなタグで囲まれているのかを「検証」を使って調べます。
ということでその部分だけを摘出できるようなコードを続けて入力していきます。
>>> from bs4 import BeautifulSoup >>> soup = BeautifulSoup(text, "html.parser") >>> price = soup.find_all("span", {"class":"priceTxt"}) >>> print(price) # [<span class="priceTxt">¥46,450</span>, <span class="priceTxt">¥46,450</span>]
配列のうち1つめが最安値、2つめがクレジット払いの最安値となっています。
さらに、値段の部分のみを摘出していきます。
>>> price0 = price[0].text >>> print(price0) # ¥46,450 >>> import re >>> price1 = re.sub(r"\D","", price0) >>> print(price1) # 46450
ウェブサイトのソースコードさえ取得できれば、あとはこっちのもんといった感じですね。
一応通しでコードを書いてみます。
以下、サンプルコードです。
import requests from bs4 import BeautifulSoup import re res = requests.get("https://kakaku.com/item/K0001540017/") text = res.text soup = BeautifulSoup(text, "html.parser") price = soup.find_all("span", {"class":"priceTxt"}) price0 = price[0].text price1 = re.sub(r"\D","", price0) print(price1) input()
ということで、価格ドットコムから最安値を摘出るすプログラムでした。
このスクレイピングの知識って意外といろんなことに応用できそうなのでこれからも機会があれば取り扱っていきたいと思います。
ではありがとうございました。
0 件のコメント:
コメントを投稿