前提・実現したいこと
ここに質問の内容を詳しく書いてください。
スクレイピングで商品ページに記載されているUPCを取得したい。
xpathで「UPC:」の場所を特定し、その次に書かれている文字列の取得する。
商品ページのURL:https://www.ebay.com/itm/203213268295
参考にしたサイト
https://qiita.com/Coolucky/items/5d8e49f2c52c99c7d3c2
https://qiita.com/rllllho/items/cb1187cec0fb17fc650a
発生している問題・エラーメッセージ
エラーはなく、空白となります。
該当のソースコード
ruby
require 'nokogiri' require 'open-uri' # 対象URL url = "https://www.ebay.com/itm/303813822823" # NokogiriでURLの情報を取得する def setup_doc(url) charset = 'utf-8' doc = Nokogiri::HTML(open(url),nil,charset) # <br>タグを改行(\n)に変えて置くとスクレイピングしやすくなる。 doc.search('br').each { |n| n.replace("\n") } doc end def scrape(url) doc = setup_doc(url) #item_specifics = doc.xpath("//*[@id='viTabs_0_is']/div").text #upc = doc.xpath("//*[@id='viTabs_0_is']/div/table/tbody/tr[5]/td[4]/h2").text upc = doc.xpath("//td[contains(*, 'UPC:')]/following-sibling::td[1]").text end puts scrape(url)
試したこと
直接「4988031408216」のxpathを指定しても空白となりました。
item_specifics = doc.xpath("//*[@id='viTabs_0_is']/div").text
では入れ子になっているものを全て取得できたので、その中に「4988031408216」もありました。
補足情報(FW/ツールのバージョンなど)
作業環境はAWSを使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/19 02:14