プログラミング

【プログラミング】Pythonスクレイピング(Beautiful Soup)+XPathでテキスト文指定でリンク先URLを取得

久しぶりのブログ更新となってしまいました。

ぼちぼちやってきます。

さて、今日はプログラミングの記事です。

 

先日来から勉強中のスクレイピングですが、

XPathとBeautiful Soupを併用してスクレイピングをしてみたので本日の記事に。

 

・テーブル構造でテキストとリンク先URLのセットでスクレイピングしたい(pandasのDataFrameを利用)

・同じテーブル内で複数のa hrefがあり、かつ名前が付与されておらずタグのみで正規表現でもとりにくく、識別しにくい、けど取得したいリンク先URLがだった
→テキスト文章を指定してそのリンク先という指定でとってきたら良さそうだったのでXPathを使うことに
(DataFrameは行数が揃わないとエラーが返ってくるので不要なデータを省いて確実にとりたい)

・Beautiful SoupはXPath使えないけど、lxmlを使えば出来た

続きを読む

【プログラミング】Pythonで色々 スクレイピング(Beautiful Soup+Selenium+PhantomJS)とか形態素解析

かれこれ、平日夜と週末とでPythonプログラミング歴3ヶ月くらいになってきたわけですが、

楽しく引き続きやっています。

 

最近やったことは、

1,形態素解析

・データをMecabに放り込んで、名詞のみで絞り込んで頻度算出、その後ユーザー辞書追加して再度やってみるという流れを掴んでおきたかったのでちょっとやってみた

・すぐに出来たので特に内容は記載しません。。。

 

2,スクレイピング

・テキストや画像など、本当にスクレイピングは関係することが多いので、ある程度勉強したいなと思い書籍から入ってみた

https://www.amazon.co.jp/dp/4873117615

・まずはPython+Beautiful Soupで単ページで構造が分かりやすいものはさくっととれるということがよく分かった

・次いで、JSで出来た生成されてるサイトは上記組み合わせでは難しく、PhantomJS、CasperJSってのがあってJSで書いてスクレイピングすることで、これまたさくっととれるということが分かった

・最後、それら組み合わせ+SeleniumでPythonでもJSのwebサイトからスクレイピングできることが分かった

・とりあえず最後PandasのDataframeでcsv化しようとした時に、UnicodeEncodeErrorが出続けてどうしようかはまりまくったけど、Dataframeでcsv化するところにencodeの指定を入れて解決というなんだかなという結末で、とりあえずやりたいことが実現出来た

続きを読む

【プログラミング】HighchartsとData Tablesを導入してみた

引き続きプログラミングをやっています。

 

プログラミングに関しての前回の記事はこちら。

 

【プログラミング】創って作れる人?(超シンプルな)webアプリを開発してみた。

 

で、今開発を進めているのが、以下のサイトです。

https://herokucards.herokuapp.com/cardsapp/template/

このブログに関係させた機能を随時追加していっています。

続きを読む

【プログラミング】創って作れる人?(超シンプルな)webアプリを開発してみた。

現在、本ブログでは、アイデアネタ生成のために、Googleスプレッドシートを利用して、

ニーズとシーズを各々ランダムにとってきて、組み合わせてみるということをやっている。

https://docs.google.com/spreadsheets/d/1QW2Ow8rrBWOgK8WH8PzT06B34KiX79z5ts68_6TLbro/edit?usp=sharing

 

表題の件は、これをwebアプリ化してみた、という話。

実際に開発して以下に公開。

https://herokucards.herokuapp.com/cardsapp/template/

続きを読む