(doc/:h1).each do |h1|
の場合、
doc →Hpricot::Doc のインスタンス
/ →docのインスタンスメソッド(/演算子の多重定義)
:h1 →/ の第2引数であるシンボル
|h1| →eachに与えられたブロックの単なる引数の名前

と、まず構文の要素を正しく認識しなきゃいかんね。