require 'httpclient'
require 'hpricot'
require 'mechanize'
@client = Mechanize.new
def get_list
for i in 2..4
link = "http://spotlight.pics/zh/?p=#{i}"
heads={
"Accept"=>"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"Accept-Encoding"=>"gzip, deflate, sdch",
"Accept-Language"=>"zh-CN,zh;q=0.8",
"Cache-Control"=>"max-age=0",
"Connection"=>"keep-alive",
"Cookie"=>"p_ab_id=3; _gat=1; user_lang=zh; _ga=GA1.2.2112927109.1453364740",
"Host"=>"spotlight.pics",
"Upgrade-Insecure-Requests"=>"1",
"User-Agent"=>"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36"
}
params={"value"=>"zh"}
doc = Hpricot(@client.get(link,params,nil,heads).body)
doc.search("article[#@class=illust-article]").search("h2").search("a").each do |x|
puts href = x["href"]
puts file_name = x.inner_html
get_one(href,file_name)
end
end
end
def get_one(url,file_name)
doc = Hpricot(@client.get(url).body)
doc.search("div[@class=illust-wrap]").search("img").each do |x|
puts src = x["src"]
puts jpg = src.split("/").last
s = @client.get(src)
file_name = file_name[0..15] if file_name.size>20
if !File.exists?("/home/wping/图片/Wallpapers/P站/#{file_name}/#{jpg}")
if !Dir.exists?("/home/wping/图片/Wallpapers/P站/#{file_name}")
Dir.mkdir("/home/wping/图片/Wallpapers/P站/#{file_name}")
File.open("/home/wping/图片/Wallpapers/P站/#{file_name}/#{jpg}","w+") do |file|
puts "save ---------------------------"
file.puts s.body
end
else
File.open("/home/wping/图片/Wallpapers/P站/#{file_name}/#{jpg}","w+") do |file|
puts "save ---------------------------"
file.puts s.body
end
end
end
end
end
get_list
sipder获取p站spotlight栏目的图片
最新推荐文章于 2023-01-30 18:17:55 发布