require 'open-uri'
require 'nokogiri'
# 首先,我们需要使用OpenURI库来打开网页,并使用Nokogiri库来解析网页内容
html = open("https://jshk.com.cn/")
doc = Nokogiri::HTML(html)
# 然后,我们需要找到包含优惠券信息的元素
coupon_elements = doc.css('.J_MicroMsgContent')
# 接下来,我们需要遍历这些元素,获取优惠券的信息
coupon_elements.each do |element|
title = element.css('.J_MicroMsgTitle').text
desc = element.css('.J_MicroMsgDesc').text
price = element.css('.J_MicroMsgPrice').text
link = element.css('.J_MicroMsgLink').text
# 最后,我们可以将这些信息打印出来,或者存储到数据库中
puts "优惠券标题:#{title}"
puts "优惠券描述:#{desc}"
puts "优惠券价格:#{price}"
puts "优惠券链接:#{link}"
end
步骤解释:
- 引入必要的库,OpenURI用于打开网页,Nokogiri用于解析网页内容。
- 使用OpenURI打开京东优惠券的网页,然后将网页内容传递给Nokogiri的HTML方法进行解析。
- 使用Nokogiri的css方法选择出所有优惠券的信息元素,这些元素都包含在
.J_MicroMsgContent这个CSS选择器中。 - 遍历选出的元素,使用css方法再次选择出优惠券的标题、描述、价格和链接信息。
- 打印出这些信息,或者将它们存储到数据库中。