代々木で働く超新米エンジニアの足跡

代々木で働くエンジニアです。超新米です。

7/7 each ハッシュ csvとjsonファイル nokogiri スクレイピング robot.txt join

 

csvjson比較】 

・データをとるときに、番号で指定する(csv)か文字で指定する(json)か

csvは配列で考えてるのでコードが多くなる気がする

jsonは1行ずつ取り出して処理している

csvは理屈は難しくないが、コードが多くなる、jsonは理屈が少し複雑だけど簡潔にかけると思う

 

スクレイピング

webサイトから情報を抽出する技術

 

 【nokogiri】   practice11.rb

Nokogiriを使ったRubyでのスクレイピング 〜初心者編〜 - HETAREDREAM

nokogiriを使ったスクレイピング入門 - gaaamiiのブログ

スクレイピングで使用するRubyのライブラリ

 

・・・htmlを解析してオブジェクトを作る

doc = Nokogiri::HTML.parse(html.toutf8, nil, 'utf-8')

 

・・・セレクタCSS)

  親タグがh3のすべてのaタグ →  h3 > a

 

・・・h1タグがのものが全て抽出

doc.css("h1").each do |h1|
  puts h1
end

 

 

xml

ホームページ作成に使われる言語

htmlと違ってデータを扱いやすい

 

【open-uri

URLを普通のファイルのように開けるようになるライブラリ

 

【クローリング】

Webを巡回すること

 

xpath

htmlのツリー構造を利用して要素を特定する手法

 

【要素の検証】

Webサイトの特定のクラス名の特定に使える

・・・虫メガネをつかって、知りたい箇所を選択するとわかる

【robot.txt】

SEO対策の1つクロール最適化をする

クロール最適化とは、クロール頻度を増やすこと

 

【join】join (Array) - Rubyリファレンス

配列の要素を結合させる