#Webスクレイピングやってみた
大学でpythonに入門してみたは良いものの、どう使おうか…。
スクレイピング?なにそれ楽しそう。
というわけでスクレイピングしてみました。
ちなみに環境はWindows10 python3.7です。
今回は角川さんから新発売の書籍のタイトルを取得してみました。
import urllib.request, urllib.error
from bs4 import BeautifulSoup
url = "https://www.kadokawa.co.jp/product/search/?lgenre=13&releaseDate=1"
#python2系ではurllib.request(url)
html = urllib.request.urlopen(url)
soup = BeautifulSoup(html, "html.parser")
h2 = soup.find_all("h2")
book_titles = []
for tag in h2:
try:
string_ = tag.get("class").pop(0)
if string_ in "book-title":
ts = tag.string.replace(' ', ' ')
book_titles.append(ts)
#break
except:
pass
print(book_titles)
with open('titles.csv', mode='w+',encoding='utf-8') as f:
for i in book_titles:
s = f.write('%s,' %i)
作ってみて
角川様のサイトを訪問された方はお気づきかと思いますが、上記のプログラムだと全てのタイトルを取得しきれておりません。
「もっと見る」ボタンをクリックしなければ見られないものがあり、そちらの対応も考えていかない…。
スクリプトでマウスオーバーすることもできるらしいので、きっと出来るはず…。