用Python抓取某些瀑布流网站下的某些画板的所有图片

2 个回答

给你个Ruby版本的吧

#!/usr/bin/env ruby
require 'rubygems'
require 'open-uri'
require 'nokogiri'

max = 0
image_urls = []
fetch_page_max = 5

fetch_page_max.times do
  max_string = max == 0 ? "" : "?max=#{max}&limit=20"
  url ="http://huaban.com/boards/7312#{max_string}"
  doc = Nokogiri::HTML(open(url))
  doc.css(".pin").each do |f|
    max = f["data-id"]
    if f.at_css("a.img")[:href] != "/null/"
      image_urls << f.at_css("a.img img")[:src]
    end
  end
end

image_urls.each do |url|
  puts url
end

我觉得这个需求没有必要从模拟load more行为入手,

你分别打开:
http://huaban.com/?h4aoe7zu&max=9527222&limit=20

http://huaban.com/?h4aoe7zu&max=9527223&limit=20
看看unl的差别,再看看实际效果,就明白了。

url的max就是最新显示到哪个id的图片,limit就是显示多少张图片。
所以应该不用模拟load more效果,直接就访问譬如说max=10limit=20,然后下一次访问max=30limit=20 这样就差不多了。

只是个思路,希望对你有帮助。

你的回答