Nokogiri库和OpenURI库使用HTTP做一个爬虫
以下是一个使用Nokogiri和OpenURI库的简单网页爬虫示例,它抓取了一个示例网站的图片链接,并将这些图片保存到本地。
require 'open-uri'
require 'nokogiri'
# 爬取图片的函数
def download_images(url)
# 使用Nokogiri解析网页
doc = Nokogiri::HTML(open(url))
# 查找图片链接并迭代
doc.css('img').each do |img|
src = img['src']
next unless src
# 下载图片
image_name = src.split('/').last
image_data = open(src)
# 保存图片到本地
File.binwrite("images/#{image_name}", image_data.read)
puts "下载图片: #{image_name}"
end
end
# 网页的URL
url = 'http://example.com/gallery'
# 调用函数
download_images(url)
这段代码首先定义了一个download_images
函数,该函数接受一个URL作为参数,使用Nokogiri解析网页,然后查找所有的<img>
标签并迭代它们,获取图片链接,最后将图片保存到本地的images
文件夹。
请注意,在实际应用中,你可能需要处理更多的细节,例如处理网络错误、分页、处理Ajax加载的内容、使用代理、遵守网站的爬虫政策等。此外,确保你有权限下载和保存图片,以及合法使用网站内容。
评论已关闭