BeautifulSoup4(1)

BeautifulSoup4(1)

BeautifulSoup4(1)

以前サンプルそのままだったPythonでのWeb Scrapingの応用編です。

といっても、今回は参照先を変えただけで、やる事はほとんど変わっていません。

  • 今回のターゲットはこちら
    https://www.kinokuniya.co.jp/f/dsd-101001037025-01-
    enter image description here
    紀伊國屋書店のサイトで、プログラミング書籍を新着順に表示させています。ここから、書籍のリスト(タイトル、著者、価格)を抽出してみます。

前回同様、ipythonで入力していきます。

In [1]: import requests
In [2]: url='https://www.kinokuniya.co.jp/f/dsd-101001037025-01-'
In [3]: req=requests.get(url)
In [4]: req.text[:200]
Out[4]: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r\n<html xmlns:fb="http://ogp.me/ns/fb#" xml:lang="ja" lang="ja">\r\n<head><link rel="canonical" href'
In [7]: from bs4 import BeautifulSoup
In [8]: soup=BeautifulSoup(req.text, 'lxml')
In [11]: lists=soup.find('div', {'class': 'list_area_wrap'}).findAll('div', {'class': 'list_area'})
In [14]: for l in lists:
...: book=dict()
...: book['name']=l.find('h3').find('a').text.strip()
...: book['author']=l.find('p', {'class': 'clearfix'}).text.strip()
...: book['price']=l.find('span', {'class': 'sale_price'}).text.strip()
...: print(book)
...:

以下が出力結果です(2018/4/18現在)

{'name': 'C言語による標準アルゴリズム事典\u3000改新 SoftwareTechnolog\u300013', 'author': '奥村晴彦\u3000著', 'price': '¥2,700'}
{'name': '実践Google\u3000Drive\u3000API', 'author': '川口直也', 'price': '¥4,320'}
{'name': '現場ですぐに使える!R言語逆引き大全350の極意 - Windows/Mac\u3000OS\u300010対応', 'author': '金城 俊哉【著】', 'price': '¥3,456'}
{'name': 'Cognitive\u3000Services入門 - マイクロソフト人工知能APIの使い方', 'author': '福内 かおり/小松 祐城/大森 彩子【著】/日本マイクロソフト【監修】', 'price': '¥3,456'}
{'name': 'ITエンジニアのためのスタートアップ戦略', 'author': '克元 亮【著】', 'price': '¥1,976'}
{'name': '現場ですぐに使える!Visual\u3000C#\u30002017逆引き大全555の極意 - Visual\u3000Studio\u3000Professiona', 'author': '増田 智明/国本 温子【著】', 'price': '¥2,916'}
{'name': 'Pythonによる数理最適化入門 実践Pythonライブラリー', 'author': '久保 幹雄【監修】/並木 誠【著】', 'price': '¥3,456'}
{'name': '現場ですぐに使える!Pythonプログラミング逆引き大全313の極意 - Windows/Mac\u3000OS\u300010対応', 'author': '金城 俊哉【著】', 'price': '¥2,808'}
{'name': 'Swift4プログラミング入門 - iOS11+Xcode9対応', 'author': '飛岡 辰哉【著】', 'price': '¥3,564'}
{'name': '基礎からわかる時系列分析 - Rで実践するカルマンフィルタ・MCMC・粒子フィル Data\u3000Science\u3000Library', 'author': '萩原 淳一郎/瓜生 真也/牧山 幸史【著】/石田 基広【監修】', 'price': '¥4,298'}
{'name': '図解入門よくわかる最新PMBOK第6版の基本 - プロジェクトマネジメントの最新トレンドを理解 How-nual\u3000Visual\u3000Guide\u3000Book', 'author': '鈴木 安而【著】', 'price': '¥2,592'}
{'name': 'ARKitとUnityではじめるARアプリ開発', 'author': '薬師寺 国安【著】', 'price': '¥3,024'}
{'name': '新わかりやすいJavaオブジェクト指向徹底解説', 'author': '川場 隆【著】', 'price': '¥3,218'}
{'name': '現場ですぐに使える!C/C++逆引き大全560の極意 - Windows/Linux/UNIX対応', 'author': '増田 智明【著】', 'price': '¥3,564'}
{'name': 'Pythonで学ぶ実践画像・音声処理入門', 'author': '伊藤 克亘/花泉 弘/小泉 悠馬【共著】', 'price': '¥2,700'}
{'name': 'いちばんやさしい機械学習プロジェクトの教本 - 人気講師が教える仕事にAIを導入する方法', 'author': '韮原 祐介【著】', 'price': '¥1,944'}
{'name': '仮想環境とプログラミングスキルで実現「ひとり情シス」虎の巻 - 実話で学ぶITエンジニアの理想の仕事術', 'author': '成瀬 雅光【著】', 'price': '¥2,376'}
{'name': 'Angular\u3000Webアプリ開発スタートブック', 'author': '大澤文孝', 'price': '¥2,970'}
{'name': 'できるパソコンで楽しむマインクラフトプログラミング入門 - Microsoft\u3000MakeCode\u3000for\u3000Mi', 'author': '広野忠敏/できるシリーズ編集部', 'price': '¥2,484'}
{'name': 'Pythonスタートブック - いちばんやさしいパイソンの本/バージョン3に完全対 (増補改訂版)', 'author': '辻 真吾【著】', 'price': '¥2,700'}

次回は、これを見やすく表示する表示させてみようと思います。

Written with StackEdit.

コメント