Rails ставит и logger.info не работает глубоко внутри циклов do - PullRequest
0 голосов
/ 26 мая 2019
def poster
    mechanize = Mechanize.new
    Spider.start_at('http://www.cnn.com/') do |s|
      s.add_url_check do |a_url|
        a_url =~ %r{^http://www.cnn.com/*}
      end
      s.on :success do |a_url, resp|
        agent = mechanize.get("#{a_url}")
        cnnbody = resp.body
        parsedcnnbody = Nokogiri::HTML.parse(cnnbody)
        tags = parsedcnnbody.xpath("//a")
        imgs = parsedcnnbody.xpath("//img")
        headers = parsedcnnbody.css("h1")
        containers = parsedcnnbody.css(".zn__containers")
        containers.each do |container|
          container.xpath("//a").each do |link|
            Spider.start_at(link['href']) do |d|
              d.on :success do |b_url, res|
                # @org = Organization.where(title: "CNN").first_or_create!
                @parsedbody = Nokogiri::HTML.parse(res.body)
                @authorusername = @parsedbody.css(".metadata__byline__author")
                puts @authorusername
                # @author = User.where(username: @authorusername, organization_id: @org.id).first_or_create!
                @parsedtext = @parsedbody.css(".l-container").css(".l-container")
                puts @parsedtext
                # @post = Post.where(title: parsedbody.css(".pg-headline"), content: parsedtext)

Я хотел бы проверить вывод этого паука с аргументом put, прежде чем раскомментировать оставшуюся работу.

Но когда @org не закомментирован, он просто проходит через это, не отображая путы.

1 Ответ

0 голосов
/ 27 мая 2019

Я обычно использую Rails.logger.debug '' для отображения сообщения или отладки на сервере.

Как я только что проверил, я все еще могу использовать это для отображения сообщения в цикле.

Надеюсь, это поможет

...