[過去ログ]
【まず1嫁】くだすれPython(超初心者用) その58 (1002レス)
【まず1嫁】くだすれPython(超初心者用) その58 http://mevius.5ch.net/test/read.cgi/tech/1662514433/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
577: デフォルトの名無しさん [sage] 2023/02/23(木) 18:25:32.96 ID:n1e6/0k5 www.kojima.net/robots.txt User-Agent: * Disallow: これは、Disallowに、/ が無いから、 すべてのクローラーのサイト内巡回を許可しているのか? Ruby, Nokogiri で、12件でやってみた www.kojima.net/ec/prod_list.html?cate=tv_recorder&limit=1&sort=1&page=6 構造としては、ポイントがある場合、 価格部分のHTML・<p class="price small mt1"> の次の兄弟に、 ポイント部分のHTML・<p class="point small mt1"> が来るはず。 もし、これが来なければ、0 ポイントのHTML片を作って、価格部分の次の兄弟に挿入する require "nokogiri" =begin 価格部分のHTML <p class="price small mt1"> <span class="number">6,350</span> <span class="yen">円(税込)</span> </p> =end 次へ続く http://mevius.5ch.net/test/read.cgi/tech/1662514433/577
578: 577 [sage] 2023/02/23(木) 18:26:45.15 ID:n1e6/0k5 # 0 ポイント部分の、HTML を作る Point_Str = <<"EOT".gsub( /\n/, "" ) # 改行を削除する <p class="point small mt1"> <span class="number">0</span> <span class="rate">ポイント(10%)</span> </p> EOT # ローカルPC にダウンロードした、HTMLファイルに対して処理する index_path = File.join(__dir__, 'index.html') doc = Nokogiri::HTML( File.read index_path ) li_css = '#fwCms_wrapper > div > div > div.layoutGrid > div.fwCms_box.frame_MB > div.ProductList.MK2PFRDL010_01 > div > ul > li' price_css = 'p.price.small.mt1' point_css = 'p.point.small.mt1' # li_css + ' > p.point.small.mt1 > span.number' doc.css( li_css ).each do |li| # li_css の直下に、point_css が存在しない場合 if ( li > point_css ).length == 0 point_node = Nokogiri::HTML::DocumentFragment.parse Point_Str # li_css の直下のprice_css の次の兄弟に、point_css を挿入する price_node = ( li > price_css ).first price_node.next = point_node end end doc.css( li_css + ' > ' + point_css ).each do |p_node| # ポイントのカンマを削除してから、整数型に変換する p Integer( ( p_node > 'span.number' ).first.content.gsub( /,/, "" ) ) end http://mevius.5ch.net/test/read.cgi/tech/1662514433/578
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.033s