scrapy splash 实现下滑加载


实现滚轴下拉加载页面的splash script(Lua 脚本)

方法1

function main(splash, args)
  splash:set_viewport_size(1028, 10000)
  splash:go(args.url)
  local scroll_to = splash:jsfunc("window.scrollTo")
  scroll_to(0, 2000)
  splash:wait(5)
  return {png=splash:png()}
end
方法2
function main(splash, args)
  splash:set_viewport_size(1028, 10000)
  splash:go(args.url)
  splash.scroll_position={0,2000}
  splash:wait(5)
  return {png=splash:png()}
end


爬虫实现下滑加载

    def start_requests(self):
        script = """
                function main(splash)
                    splash:set_viewport_size(1028, 10000)
                    splash:go(splash.args.url)
                    local scroll_to = splash:jsfunc("window.scrollTo")
                    scroll_to(0, 2000)
                    splash:wait(15)
                    return {
                        html = splash:html()
                    }
                end
                """

        for url in self.start_urls:
            yield Request(url,callback=self.parse_info_index,meta = {
                'dont_redirect': True,
                'splash':{
                    'args':{'lua_source':script,'images':0},
                    'endpoint':'execute',

                }
            })

你可能感兴趣的:(python爬虫)