Skip to content

Instantly share code, notes, and snippets.

@defp
Last active August 1, 2017 10:14
Show Gist options
  • Save defp/6ba60cc0df96bd9db17c882fc34c8ee9 to your computer and use it in GitHub Desktop.
Save defp/6ba60cc0df96bd9db17c882fc34c8ee9 to your computer and use it in GitHub Desktop.
douban 相册下载
require 'net/http'
require 'net/https'
require 'json'
# Request (12) (GET )
def send_request(id)
uri = URI("https://api.douban.com/v2/album/#{id}/photos?count=100")
puts uri
# Create client
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
# Create Request
req = Net::HTTP::Get.new(uri)
# Add headers
req.add_field "Cookie", "bid=6PytYWwbkqQ"
# Fetch Request
res = http.request(req)
# puts "Response HTTP Status Code: #{res.code}"
# puts "Response HTTP Response Body: #{res.body}"
JSON.parse res.body
rescue StandardError => e
puts "HTTP Request failed (#{e.message})"
end
id = 1631828755
images = send_request(id)
puts images['total']
save_dir = "climbing"
images['photos'].each do |photo|
puts photo['large']
system "wget #{photo['large']} -P #{save_dir}"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment